问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言问题,请问二维数组的函数参数是怎么传递的?

发布网友 发布时间:2022-06-20 20:00

我来回答

4个回答

热心网友 时间:2024-09-03 15:11

数组为参数时会退化为一个二级指针传递,如图,可以将函数头部写成
void shuchu(int **array_num);
在函数中调用时,直接传递数组名就可以了,数组名可以视为数组的“头指针”,可以用这个指针进行一系列的相关操作,如图,可以按如下方式调用
shuchu(a);

另外,一个建议:不要在传参时忽略数组的长度,最好显式的以参数的形式传递给函数
或者,在数组中做标志,在函数中使用时可以根据标志自行分出维度

满意请采纳,不满意请追问

热心网友 时间:2024-09-03 15:11

你好!关于二维数组传参问题,

在调用的时候直接传数组指针即可,

即:

void main()
{
int a[10][2];
shuru(a);
shuchu(a);
}

函数形参有两种写法,可以写成

void shuru(int (*array_num)[2]){}
//或者

void shuru(int array_num[][2]){}

函数shuchu() 也是一样,

 

望采纳,如有不明白请追问谢谢!

热心网友 时间:2024-09-03 15:12

在形参是数组的情况下,只要是数组,无论维数,实际上在调用函数时,传给函数的将是一个数组的首地址,以及维数等相关信息
也就是说,在函数执行过程中,并不会新开辟内存空间,而是形参实参共用同一段内存空间
所以,在这种情况下,函数内部对数组进行修改,其值会返回给实参
你的例子中调用部分有问题,不能这样
shuru(a[10][2])
而是
shuru(a)
因为a[10][2]代表数组a中的一个元素,而且是越界的
而a才是数组名

热心网友 时间:2024-09-03 15:12

"数组为参数时会退化为一个二级指针传递"这个理解是不对的 二维数组的形参声明应该是 int(*array_num)[2]
C语言问题,请问二维数组的函数参数是怎么传递的?

数组为参数时会退化为一个二级指针传递,如图,可以将函数头部写成 void shuchu(int **array_num);在函数中调用时,直接传递数组名就可以了,数组名可以视为数组的“头指针”,可以用这个指针进行一系列的相关操作,如图,可以按如下方式调用 shuchu(a);另外,一个建议:不要在传参时忽略数组的长度...

C语言中如何将二维数组作为函数的参数传递

在C语言中可以用二维数组作为实参或者形参。1、函数中用二维数组作为形参,函数声明中可以指定所有维数的大小,也可以省略第1维的维数如:void f(int array[3][10]); //正确 void f(int array[][10]); //正确上面的两种二维数组形参表示都是正确的。2、函数中用二维数组作为形参,不能把第...

关于C语言的二维数组作为函数参数的问题?

int arr[n][m];实际上相当于:int n=2,m=3;int (*arr)[m];所以,传递二维数组作为参数,实际上就是传递了一个指针。将形参的类型定义成int*,再在函数内部转换回指向数组的指针就行了,比如:void f(int *p,int row,int column){ int (*arr)[column]=(int (*)[column])p;//使用二...

c语言中怎么用二维数组作为函数参数

二维数组作为函数参数,实参可以直接使用二维数组名,在被调用函数中对形参数组定义可以指定所有维数的大小,也可以省略第一维的大小说明,如:它们是合法且等价,也可以使用如下形式:但不能省略第二维的大小,如下面的定义是不合法的,编译时会出错:因为从实参传递来的是数组的起始地址,如果在形参中不说...

C语言中 指针做函数参数传递二维数组

void fun(int (*p1)[3],int (*p2)[3]);int main(){ int p1[3][3]={{7,8,9},{4,5,6},{1,2,3}} ;int p2[3][3] = {0};int i = 0, j = 0;fun(p1,p2);for(i = 0;i < 3;i++){ for(j = 0;j < 3;j++){ printf("%d ",*(*(p2+i)+j));} prin...

c语言中的结构体二维数组做参数问题

1、如果在函数外定义的结构数组,又要在一个函数中进行输入、输出,通常情况下,其参数传递类型需要传址,即 void shuchu(struct std **cansu);void shuchu(struct std *cansu[]);这样调用改为 shuchu(&aa);对函数内的相应操作改为指针操作即可。2、通常情况下,对于一个系统设计而言,其输入...

二维数组使用指针变量做函数参数是什么意思? 在什么情况下,函数参数才...

所以如果定义一个函数,参数二维数组,那么至少要指定列数,比如:void p (int a[2][3])//正确void p (int a[][3])//正确void p (int a[][])//错误void p (int a[2][])//错误那么如果你想要用指针来做参数传递二维数组,那你需要定义一个指向数组(大小等于二维数组列数)的指针,...

ICCAVR单片机C语言关于二维数组的问题?

ASCII是一个指向二维数组的指针常量。声明uchar (*ip2)[2]数组指针(看过有些书称之为行指针),ip2=ASCII;这样就可以通过编译并引用ASCII数组了。二维数组在函数调用时可以做实参进行参数传递。被调函数可以这样声明 void exmpl_fun(uchar (*pAryASCII)[2]);;也可以这样void exmpl_fun(uchar pAry...

用C语言编写一个函数,计算二维数组中的最大元素,数组以指针方式传递...

int max(int arry[][100],int n){ int i,j,value;for (value=arry[0][0],i=0;i<n;i++)for(j=0;j<n;j++)if (arry[i][j]>value) value=arry[i][j];return value;} int main(){ int a[100][100];int i,j,n,value;scanf("%d",&n);for (i=0;i<n;i++)f...

C语言,函数中如何返回二维数组,用return和不用return两种方法?

return 就直接返回可以了 不用return 就将二维数组的指针或者引用作为参数

c函数二维数组作为实参传递 二维数组怎么传到函数 向函数传递二维数组 如何向函数传递二维数组 怎么传递二维数组 c语言向函数传递数组 二维数组作为函数参数调用 在声明函数的二维数组形参时 函数传二维数组
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
求游戏《寂静岭》中好听的游戏配乐,最好是纯音乐 A8 6500 最高支持什么显卡 加条内存组成双通道 对游戏有多大提升... ...追了四个多月了、她也喜欢我。我们俩个在一起也上了床…但是我是... 和喜欢7年的女孩表白后女生说给她点时间,但是又没说什么时间回复我。她... 说一个人很有气质`是什么样的呢` 邢台周边地区的苹果是什么价格 太行百果园地址在哪里? ...时最后香的形状是两边低中间高,这代表什么意思呀?麻烦知..._百度知... 染色体的组成为( )A.DNA和蛋白质B.蛋白质和糖类C.基因和蛋白质D.基 ... 监控器被接入后黑屏的原因 二维数组怎么在函数间传递 三点 画圆弧 求告知 见师傅用了几个钉子 两个木条 木条随着固定的钉子... 木头能不能做弧形 请问木板怎么做弧形啊!比如拱门上的弧形 高手们谁知道家具圆弧柜的圆弧怎么做,用什么机子做,还有电脑桌的圆桌面... 南非有什么美食 想去一趟南非,南非的美食有哪些 南非的美食出名吗? 有谁比较了解南非的美食特色 借一万不还钱可以报警吗 人寿保险农合二次报销 直流交流双电源什么情况下会度短路? 直流屏里双交流是意思啊,你好,中午好? TDA2030A双交流电源的绕法 处女座女生和哪个星座的女生最配 为啥用QQ浏览器下载的软件变成了QQ浏览器的标志 用qq号怎么申请 交通银行信用卡积分有效期是多长时间? 云顶国际开户最好是去哪呢?怎么样?哪位朋友去玩过? 怎么通过qq注册新 怎样将主调函数中的二维数组传递到新定义的函数里? c++里二维数组怎么传值给函数?格式是怎么样的? 二维数组函数传递 怎么通过qq注册新 香辣素包子的做法,香辣素包子怎么做好吃,香辣 香辣外婆包怎么做 牛仔裤上弄上打印机的黑墨了,怎么才能洗掉? 如何有qq注册 中国住房产权的变化 用qq号怎么申请 移动机顶盒怎么唤醒语言功能 如何在微信群中查看对方的? 怎么查好友的 怎样查看别人 被对方拉黑后怎样查到对方的 怎么查QQ好友的? 怎样查看别人的 知道昵称怎么查? 怎么注销 香椿树也开花吗?为什么我家的开出一串串小白花?