首页 > 学院 > 开发设计 > 正文

函数传递多维数组

2019-11-10 17:57:02
字体:
来源:转载
供稿:网友

一维数组作为函数参数可以写成: f(int * array , int size) 或者 f(int array[] , int size) ([]中的数组的维数可选)

二维数组作为函数参数可以写成:f(int array[][10] ,int size1 ,int size2 ,....)的形式,除了第一维的参数可以省略,其他的参数必须显示说明。以上面为例,编译器寻找array[3][3]的地址时通过(array+3*10+3)得到,若不指定其他的维数,则编译器无法计算元素地址。

二维数组作为函数参数也可以通过指针的方式传递,比如f(int **array,int size1,int size2) size2为第二维的维数,得到某一元素的地址需要手动计算,比如array[3][3]的指针为((int *)array+3*10+3)


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表