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

学习 时间:2026-04-06 17:32:44 阅读:7257
C语言,指针一块的内容 *++P *P++

最佳回答

醉熏的人生

鳗鱼学姐

2026-04-06 17:32:44

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

最新回答共有2条回答

  • 怕孤独的巨人
    回复
    2026-04-06 17:32:44

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

上一篇 上边一个山字下边立一个字念什么

下一篇 要10句拟人句,10句拟人句