*p+1和*(p+1)的区别是什么?
2个回答
展开全部
区别是:
1、*p表示此指针指向的内存地址中存放的内容,p表示一个指针变量的名字。
2、*p一般是一个和指针类型一致的变量或者常量,p输出的是一个16进制数。
3、*p是让程序去那个地址取出数据,p存放的是地址。
p是一个指针,一个指向长度为3的数组的指针。直接在p上偏移就是行,在*p上偏移就是列。比如:**(p+1)等价于p[1][0]等于40;*(*p+1)等价于p[0][1]等于20。所以,上面这道题中p[0][0]=10,*(p[0]+1)=20,(*p)[2]=30。
*p和p的不同:
1、表示的含义不同
*p表示此指针指向的内存地址中存放的内容。
p表示一个指针变量的名字,指此指针变量所指向的内存地址。
2、输出的格式不同
*p一般是一个和指针类型一致的变量或者常量。
p输出的是一个16进制数, 输出一个指针的地址。
3、功能不同
*p是让程序去那个地址取出数据。
p存放的是地址。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询