当前位置:文档之家› 多维数组作为函数参数的传递 计科二班

多维数组作为函数参数的传递 计科二班


函数参数中一维数组的长度会被忽略的,但二维数组的
第二维度就会被要求指定长度(否则gcc会报告“数组元素 的类型不完全”)。
同理,三维数组就会被要求指定第二维度和第三维度
的长度,所以n维数组只有第一维度的长度会被忽略。 那么对于C++而言,如何将多维数组作为参数向函数中 进行传递呢?
多维数组操作方法:
多维数组
表示方法:
关于多维数组,其实可以解释为“数组的数组”。 比如 int hoge[3][2] ; 可以解释为 int 的数组(元素个数2)的 数组(元素个数3) 因此我们可采用与一维数组类似的方式向函数传递参数。(只不过这儿不是“指向int 的指针”,而是指向“int数组(元素个数为2)的指针” int (*hoge)[2]) 也就是说,接收这个参数的函数的原型为: void func( int (*hoge)[2] ); 当然: void func( int hoge[3][2] ) ;
int a[][][];
funtion(a,...);//调用,在函数体内对a操作,就可以改变 a[][][]
}
表示方法 多维数组可以说是数组的嵌套,由于C++中不能对数组 进行引用(不知道为什么),故而传递多维数组的办法 都在指针上打主意。 直接传递元素个数也不妥当,只能处理固定元素个数的 数组,应用场合十分受限。 不能每维都不传递元素个数,语法规则不允许
void func( int hoge[ ] [2] ) ;
这两种传递方式也是正确的。
制作人:陈燕 学号:1610003038 班级:计科专升本2班
概念 多维数组,每个元素由值及多个能确定元素位置的下标组 成,按数组的多个下标变化次序关系的描述,可以确定数 组元素的前驱和后继关系并写出对应的线性表 多维数组也可以由元素为(n一1)维数组的特殊线性表来定义, 这样维数大于一的多维数组是由线性表结构辗转合成得到 的,是线性表的推广。
据元素;
(2)给定一组下标,修改相应数据元素中的某一个或某几
个数据项的值。
C++中如何把多维数组作为参数,该如何写原函数(函数头,函数体)、 怎样调用、怎样设计函数?? void function(int a[][][],...) { ...... } main() {
相关主题