如果我想增加一个引用 a 位置的指针,int
我不能使用这些方法:
*Pntr +=1;
*Pntr++;
但是,使用此方法没有问题:
*Pntr = *Pntr + 1;
发生了什么导致这些速记方法不起作用。(还必须指出我正在使用 Visual Studio,它有时会表现得很奇怪,所以我想我应该提到这一点)
如果我想增加一个引用 int 位置的指针...... [强调添加]
请注意,当您增加一个指针时,它会按指针可以指向的对象大小逐步增加。
既然你提到了——
使用这种方法没有问题:
*Pntr = *Pntr + 1;
因此,它看起来像你想增加在位置值,通过指出Pntr
,通过1
。
后缀++
运算符的优先级高于一元运算*
符(检查运算符优先级表)。所以,表达式
*Pntr++;
将被评估为
*(Pntr++);
这将按Pntr
大小移动指针int
,然后取消引用它。
要增加指针的值,您可以执行以下操作:
(*Pntr)++;
您还可以使用前缀++
运算符:
++*Pntr;
表达方式
*Pntr +=1;
与
*Pntr = *Pntr + 1;
,都将增加在位置被指向的值Pntr
通过1
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句