天天看点

[转载]使用指针传递多维数组

方法一、  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’结束符),对于其他类型,需要增加一个标记值或者能够标识越界位置的结束符。同样,它依赖于调用函数与被调用函数的约定。

三维或者多维数组------都无法使用。必须把它分解成几个位数更少的数组。

本文转自五岳博客园博客,原文链接:www.cnblogs.com/wuyuegb2312/articles/2709869.html,如需转载请自行联系原作者

继续阅读