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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值