C语言,指针一块的内容 *++P *P++

问题描述:

C语言,指针一块的内容 *++P *P++
1个回答 分类:综合 2014-12-08

问题解答:

我来补答
首先,*和++的优先级相同,是右结合运算符.所以*++p等价于*(++p)
*p++等价于*(p++)
因此*++p就是试p的值先加一,然后取其所指向的内容.
*p++就是先取p指向的内容,然后p的值加一
这里的加一不是简单的数字加一,是和p的类型有关.如果p是整形的指针变量,则p的值在16位机上加了2,而在32位机上加了4.就是p的值增加了一个他的类型长度.等价于p+sizeof(*p).
是的,下面朋友说的对,当时没注意.应该等价于p+sizeof(*p).
希望给予采纳!
 
 
展开全文阅读
剩余:2000
上一页:100 ,11
下一页:29