C语言数组作为函数参数「建议收藏」

C语言数组作为函数参数「建议收藏」一:数组元素作为函数的实参数组元素就是变量,与普通变量没有区别,将数组元素传送给形参,实现单向的值传递。#include<stdio.h>floatmax(floatx,floaty){ if(x>y) returnx; else returny;}intmain(){ inta[6]={3,2,1,4,9,0}; intm…

大家好,又见面了,我是你们的朋友全栈君。

一:数组元素作为函数的实参

数组元素就是变量,与普通变量没有区别,将数组元素传送给形参,实现单向的值传递。

#include <stdio.h>
float max(float x,float y){
	if(x > y)
	return x;
	else
	return y;
}
int main(){
	int a[6] = {3,2,1,4,9,0};
	int m = a[0];
	for(int i = 1;i < 6; i ++){
		m = max(m,a[i]);
	}
	printf("数组中的最大元素是:%d",m);
}

二:数组名作为函数的实参

实质是地址的传递,将数组的首地址传给形参,形参和实参共用同一存储空间,形参的变化就是实参的变化。

#include <stdio.h>
void sort(int b[],int n){
	for(int i = 0; i < n - 1; i ++)
	for(int j = 0; j < n-i-1; j ++)
	if(b[j] > b[j+1]){
		int temp;
		temp = b[j];
		b[j] = b[j+1];
		b[j+1] = temp;
	}
}
int main(){
	int a[10];
	printf("请输入数组的元素:");
	for(int i = 0;i < 10; i ++){
		scanf("%d",&a[i]);
	}
	printf("排序后的数组顺序是:");
	sort(a,10);
	for(int i = 0; i < 10;  i++){
		printf("%d ",a[i]);
	}
} 

三:二维数组名作为函数参数

第一维的大小可以不指定,第二维的大小必须指定。实参传送的是二维数组的首地址,使得二维数组a与b共用同一存储单元,即a[0][0]与b[0][0]共用同一存储单元,a[0][1]与b[0][1]共用同一存储单元。

#include <stdio.h>
//b[3][4]也正确
int max(int b[][4]){
	int max1 = b[0][0];
	for(int i = 0; i < 3; i ++)
	for(int j = 0; j < 4; j ++)
	if(b[i][j] > max1){
	max1 = b[i][j];
    }
	return max1;
}
int main(){
	int a[3][4] = {5,16,30,40,23,4,123,8,1,3,50,37};
	int m = max(a);
	printf("max is %d", m);
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157348.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C#静态方法和非静态方法

    使用了static修饰的方法是静态方法,反之则为非静态方法。静态方法是一种特殊的方法,他不属于某个具体的实例。非静态方法可以访问类中的任何成员,而静态方法只能访问静态成员。http://www.cnb

    2021年12月21日
    83
  • java删除文件,重命名文件

    java删除文件,重命名文件在做项目时,遇到需要对文件做一些删除重命名等操作。基于java语言,保存代码段如下。//文件重命名,缩小数据量,将对应的文件列为一张2维的表,方便对摘要文档等的操作 publicstaticbooleanrenameFile(Stringpath,Stringoldname,Stringnewname){ Fileoldfile=newFile(path+oldnam

    2022年4月30日
    42
  • steamvr插件怎么用_微信word插件加载失败

    steamvr插件怎么用_微信word插件加载失败本文基于SteamVR插件的开发文档翻译并总结SteamVR开发过程中的基本用法。本文总结汇总了SteamVR插件文档的内容,对文档部分内容进行了删减。目前仅仅只是翻译汇总,部分内容可能存在纰漏,后续会结合开发过程逐步更新修改此文章的内容。

    2022年9月4日
    3
  • java计时器StopWatch「建议收藏」

    java计时器StopWatch「建议收藏」  1、一般我们检测某段代码执行的时间,都是以如下方式来进行的:publicstaticvoidmain(String[]args){longstartTime=System.currentTimeMillis();//获取开始时间//函数主体代码longendTime=System.currentTimeMi…

    2022年6月23日
    21
  • 缺陷报告的案例_设计缺陷案例

    缺陷报告的案例_设计缺陷案例

    2022年9月13日
    0
  • Java生成MD5的两种方式

    Java生成MD5的两种方式1原生的packagecom.pibigstar.common.utils;importjava.security.MessageDigest;/***MD5加密工具类*@authorpibigstar**/publicclassMyMD5Util{//盐,用于混交md5privatestaticfinalStringsl…

    2022年7月8日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号