55问答网
所有问题
C语言问题,请问二维数组的函数参数是怎么传递的?
如题所述
举报该问题
推荐答案 2013-06-21
数组为参数时会退化为一个二级指针传递,如图,可以将函数头部写成
void shuchu(int **array_num);
在函数中调用时,直接传递数组名就可以了,数组名可以视为数组的“头指针”,可以用这个指针进行一系列的相关操作,如图,可以按如下方式调用
shuchu(a);
另外,一个建议:不要在传参时忽略数组的长度,最好显式的以参数的形式传递给函数
或者,在数组中做标志,在函数中使用时可以根据标志自行分出维度
满意请采纳,不满意请追问
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://55.wendadaohang.com/zd/Q84RRG4GQ.html
其他回答
第1个回答 2013-06-21
你好!关于二维数组传参问题,
在调用的时候直接传数组指针即可,
即:
void main()
{
int a[10][2];
shuru(a);
shuchu(a);
}
函数形参有两种写法,可以写成
void shuru(int (*array_num)[2]){}
//或者void shuru(int array_num[][2]){}
函数shuchu() 也是一样,
望采纳,如有不明白请追问谢谢!
第2个回答 2013-06-21
在形参是数组的情况下,只要是数组,无论维数,实际上在调用函数时,传给函数的将是一个数组的首地址,以及维数等相关信息
也就是说,在函数执行过程中,并不会新开辟内存空间,而是形参实参共用同一段内存空间
所以,在这种情况下,函数内部对数组进行修改,其值会返回给实参
你的例子中调用部分有问题,不能这样
shuru(a[10][2])
而是
shuru(a)
因为a[10][2]代表数组a中的一个元素,而且是越界的
而a才是数组名
本回答被网友采纳
第3个回答 2013-06-21
"数组为参数时会退化为一个二级指针传递"这个理解是不对的 二维数组的形参声明应该是 int(*array_num)[2]
第4个回答 2013-06-21
1
2
下一页
相似回答
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语言
二维数组
除了用指针
传递
给自定义
函数
还能用其他方法吗_百度知 ...
答:
C语言中
指针做
函数参数传递二维数组
有两种基本方法:1、传递“数组指针”include <stdio.h>void output( int (*pa)[3], int n )//这个函数只能输出n行3列的二维数组{ int i,j; for( i=0;i<n;i++ ){ for( j=0;j<3;j++ ) printf("%d ", pa[i][j] ); prin...
C语言
二维数组传递参数
答:
二维数组传递
给
函数的
时候,有两种方式,一种是a[][6],一种是(*a)[6],这里的6是不能省略的,不然编译器不知道如何通过加多少来偏移这个指向
数组的
指针。
大家正在搜
c函数二维数组作为实参传递
二维数组怎么传到函数
向函数传递二维数组
如何向函数传递二维数组
怎么传递二维数组
c语言向函数传递数组
二维数组作为函数参数调用
在声明函数的二维数组形参时
函数传二维数组
相关问题
c语言中怎么用二维数组作为函数参数
C语言怎么以二维数组作为参数传递的问题
C语言中如何将二维数组作为函数的参数传递?
转:C语言中如何将二维数组作为函数的参数传递
C语言中如何将二维数组作为函数的参数传递
C语言中 指针做函数参数传递二维数组
C语言中如何将二维字符数组作为函数参数引用传递
C语言 二维数组传递参数