我正在使用C指针,如果我使用 *p++ 递增指针,它会递增p,但仅返回在递增之前指针p所指向的值。如何递增指针p所指向的值?
做这个:(*p)++
使用括号,您表示您要增加指向的值。
++*p
也可以工作。 - David Xpostfix ++
的优先级比*
高,编译器会将*p++
读作*(p++)
。如果你要增加*p
的值,需要加上括号:(*p)++
会返回*p
的值,并将p
的值加一。++(*p)
会将*p
的值加一并返回这个值。
在最后一种情况下可以省略括号并写成++*p
,但我建议不要这样做,因为++(*p)
是(*p)++
的对应形式,但对于++*p
,它不是*p++
。
p
,然后对其进行解引用以获取p
现在指向的值。 - Stephen