C语言中二级指针的部分应用

1关于二级指针段错误的处理

 

在这个例子中,很明显,我们的目的是然main函数中的ppos是二维数组某一行的首地址,然后依次输出,当很显然,传递过去的poss是一个野指针,即传递过去后,在getPosPerson函数中,已经成功把二维数组某一行的首地址赋给指针poss了,但是是main函数中的poss并没有变化。

 

 而当我把mian函数中poss的地址传递过去,因为poss本身的值就是一个地址,又把poss的地址传递过去自然就需要用一个二级指针接收,而巧好在getPosPerson函数中*ppos指向的就是main函数中的poss的值,然后把(int *)(pstu+pos)赋给*poss,下图便于理解

2二级指针与二维数组的偏差

经过分析:

 

 

 3如何解决

 这里定义了一个指针p1指向数组a[3][2]的第一列;

再定义一个二级指针p2指向p1,如何**p2,按常量,应该是会指到a[0][0]的值,再赋值给100,那么数组中a[0][0]的值应该变为100,看看结果如何.

 看来这种是可行的;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值