![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
请教高手
inta,k=2,m=2,*p1=&k,*p2=&m,那么p1==&m的值是什么意思?其中的==怎么理解!还有,inta[2][3],(*p)[3]=a要描述a[1][0...
int a,k=2,m=2,*p1=&k,*p2=&m, 那么p1==&m的值是什么意思?其中的==怎么理解!
还有,int a[2][3],(*p)[3]=a 要描述a[1][0]的地址为什么是*(p+1)!其中(*p)[3]=a是不是指针数组啊!怎么理解它的含义!!!
帮个忙好心大哥! 展开
还有,int a[2][3],(*p)[3]=a 要描述a[1][0]的地址为什么是*(p+1)!其中(*p)[3]=a是不是指针数组啊!怎么理解它的含义!!!
帮个忙好心大哥! 展开
2个回答
展开全部
1. p1==&m 意思是将m的地址与p1比较,==比较运算符,而=是赋值运算符,注意二者的区别
2. 首先要理解p是一个指针数组,后边的3表示p所指向的数组每一组有三个元素,于是就容易理解:*(p)为a[0][0]地址,*(p+1)为a[1][0]的地址咯(~_~)
记住一点:p指向的元素类型是数组,该数组有3个元素,所以p+1移动是一组元素,而不是一个元素!希望对您有所帮助!!
2. 首先要理解p是一个指针数组,后边的3表示p所指向的数组每一组有三个元素,于是就容易理解:*(p)为a[0][0]地址,*(p+1)为a[1][0]的地址咯(~_~)
记住一点:p指向的元素类型是数组,该数组有3个元素,所以p+1移动是一组元素,而不是一个元素!希望对您有所帮助!!
展开全部
*取值,&取地址
*p1=&k 拆分看
int *p1;
p1 = &k; 这行意思就是p1=k变量的地址
p1==&m 用于if中 意思就是 p1 指向 变量m所在的的地址
int a[2][3],(*p)[3]=a 的意思就是定义一个指针数组p指向二维数组a的首地址
因为p指向的地址是a数组的首地址所以因为有int a[2][3],(*p)[3]=a
那么(p+1)的地址指向a[1]所在的地址,可以打印一下!
*p1=&k 拆分看
int *p1;
p1 = &k; 这行意思就是p1=k变量的地址
p1==&m 用于if中 意思就是 p1 指向 变量m所在的的地址
int a[2][3],(*p)[3]=a 的意思就是定义一个指针数组p指向二维数组a的首地址
因为p指向的地址是a数组的首地址所以因为有int a[2][3],(*p)[3]=a
那么(p+1)的地址指向a[1]所在的地址,可以打印一下!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询