递增c指针

时间:2010-08-15 11:47:15

标签: c objective-c

我正在使用c指针,其中如果我以* p ++递增,它会递增p,但只返回p指向递增之前的值。我怎样才能增加p指向的值。

2 个答案:

答案 0 :(得分:6)

这样做:(* p)++

使用括号,表示您的意思是增加指向的值。

答案 1 :(得分:4)

postfix ++的优先级高于*,编译器会将*p++视为*(p++)。由于您希望增加*p的值,因此您需要大括号:(*p)++将返回*p的值,然后将p的值增加1。 ++(*p)将增加*p的值,然后返回此值。

您可以省略最后一个案例的大括号并写++*p,但我建议不要这样做,因为++(*p)(*p)++的双重句柄,但是++*p它不是*p++