您的位置:首页 > 其它

函数传递多维数组

2017-02-08 18:08 295 查看
一维数组作为函数参数可以写成: 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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  函数