99问答网
所有问题
在定义函数的时候,如果参数是二维数组,为什么可以省掉一维的部分?不太明白
省掉一维的部分之后,它还能准确的知道哪一行?
我的意思是在外部定义函数的时候,二维数组做形参的话,为什么可以省略一维的部分
举报该问题
推荐答案 推荐于2017-12-15
比如
int a[][3]={ {1,2,3},{4,5,6},{7,8,9} };
你就是在告诉
编译器
,这个数组中三个数是一组,我懒得数有几组了,你帮我数一下吧
结果与写int a[3][3]={ {1,2,3},{4,5,6},{7,8,9} };是一样的
省掉的部分由编译器自动帮你填上了而已。
在函数中只需要定义第二维的尺寸,让程序知道在增加第1维的下标值时,要跳过多少字节的
存储器
即可
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/XeOWtX7W77O7jvOBXv.html
相似回答
求问个c语言问题
,为什么二维数组
做
参数
引用
时,
数组要填下标,如图划线部 ...
答:
比如一维数组作
函数参数时
:f(int a[10]) 会被转换成f(int *a),即传递过去的
是一维数组的
首地址。所以即使你有个数组 int b[5],也能传递进int [10]做
参数的函数
。
二维数组
作函数参数时:f(int a[10][5]) 后面的那个维数会被丢弃,转换为,f(int (*a)[10]),之所以要保留...
c语言中怎么用
二维数组
作为
函数参数
答:
二维数组作为函数参数,实参可以直接使用二维数组名,
在被调用函数中对形参数组定义可以指定所有维数的大小,也可以省略第一维的大小说明
,如:它们是合法且等价,也可以使用如下形式:但不能省略第二维的大小,如下面的定义是不合法的,编译时会出错:因为从实参传递来的是数组的起始地址,如果在形参中不说...
C语言中如何将
二维数组
作为
函数的参数
传递
答:
2、函数中用二维数组作为形参,不能把第2维或者更高维的大小省略
,如下面的定义是不合法的:void f(int array[][]); //错误 因为从实参传递来的是数组的起始地址,在内存中按数组排列规则存放(按行存放),而并不区分行和列,如果在形参中不说明列数,则系统无法决定应为多少行多少列,不能...
C++
函数
调用
二维数组
答:
n
如果是
变量的话
,数组
编译时都通不过吧。数组分配时必须知道大小。
函数
应该这样声明function(char array[10][10])或省略第
一维的
大小function(char array[][10])function(char array[n][n])这样是错误的,数组的索引必须是个常量表达式如果需要必须有cin决定大小,那就应该是动态分配的二位数组char ** aa;int ...
c语言的
数组的
中括号中数字能否省略
?什么时候可以
省略?
答:
还有就是形参中
,可以
省略
一维数组的
长度或者
二维数组的
行数,如:void fun(int a[],int b[][4]){//
函数
体神马的}这个函数中第一个
参数是一维数组,
只要实参传来一个一维数组即可接收到,不需要长度完全一样,同理,第二个参数也是,只要传来一个列数为4的二维数组即可 大概就以上3中情况吧...
二维数组
使用指针变量做
函数参数是什么
意思
?
在什么
情况下
,函数参数
才...
答:
如果将二维数组作为参数传递给函数,那么
在函数的参数
声明中必须指明数组的列数,行数可以指定也
可以不
指定。因为函数调用时传递的是一个指针,它指向由行向量够成的
一维数组
。所以
如果定义
一个函数
,参数二维数组,
那么至少要指定列数,比如:void p (int a[2][3])//正确void p (int a[][3])/...
...
函数的参数
明明是
一维数组
为什么可以
把
二维数组
答:
应该
可以,
都是双精度型的
,函数
处理的
是数组的
每一个元素,只要相同应该可以
int a[]或者int a[][]这个能就这样子空着么?
答:
不能全部空着
,如果是一维数组,在定义时可以
空着,但必须提供初始化列表进行初始化。如果是多维数组,那么除了第
一维可以
由初始化列表确定外,其余各维必须明确指定 在
函数参数
列表声明
时,一维数组可以
空着,多维数组除了第一维可以空着之外其余各维必须指定,要不然就用指针形式进行声明。
...维大小相同的前提下
,为什么
形参
数组的
第
一维可以
和实参
数组不
同呢...
答:
我从指针的角度来分析一下这个问题,你
定义的函数,
形参形式是int a[][2];,首先,形参维
什么可以
这样写,实际上这样写形参的实际类型同于这样去定义:int (*a)[2],这是定义了一个指针,这个指针指向一个长度为2的
一维数组,
这种定义和你写的定义一模一样,你的疑惑
,为什么
第一维可以不同,就...
大家正在搜
在声明函数的二维数组形参时
二维数组作为函数参数调用
二维数组指针作为函数参数
二维数组作为函数实参
函数定义二维数组
多维数组作为函数参数
c函数二维数组作为实参传递
如何在函数中调用二维数组
自定义函数使用二维数组
相关问题
【SQL*LOADER】参数不太明白
为什么定义一个二维数组,行数可以省略,列数不可以
求问个c语言问题,为什么二维数组做参数引用时,数组要填下标,...
matlab 定义二维函数 与一维函数有关吗?
一道C++编程,用函数怎么做? 而且他所说的"二维数组做参数...
定义二维数组为什么可以省略第一维的长度,但却不能省略第二维的...
c语言中怎么用二维数组作为函数参数
我想定义一个函数,要用二维数组做参数