[转载]使用指针传递多维数组
原文:http://blog.sina.com.cn/s/blog_91dfee0b0101108f.html
方法一、 my_function1(int my_arry[10][20])
方法二、 my_function1(int my_arry[][20])
方法三、 my_function1(int (* my_arry)[20])//只有把二维数组改为一个指向向量的指针数组(Ififfe向
//量,int *p[10])的前提下才可以
方法四、 char_array[row_size*i+j]=......//弄成一维的
一维数组---没有问题,但需要包括一个计数值或者是一个能够标识越界位置的结束符。被调用的函数无法检测数组参数的边界。
二维数组---不能直接传递给函数,但可以把数组改写成一个一维的Iliffe,并使用相同的下标表示方法。对于字符串来说,这样做是可以的(自带‘0’结束符),对于其他类型,需要增加一个标记值或者能够标识越界位置的结束符。同样,它依赖于调用函数与被调用函数的约定。
三维或者多维数组------都无法使用。必须把它分解成几个位数更少的数组。
作者:五岳
出处:http://www.cnblogs.com/wuyuegb2312
对于标题未标注为“转载”的文章均为原创,其版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。