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

原文: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’结束符),对于其他类型,需要增加一个标记值或者能够标识越界位置的结束符。同样,它依赖于调用函数与被调用函数的约定。
 
三维或者多维数组------都无法使用。必须把它分解成几个位数更少的数组。

 

posted @ 2012-10-01 18:56  五岳  阅读(305)  评论(0编辑  收藏  举报
回到顶部