指针指向int的增量值

我有一个int指针(int * count),如果我想增加指向使用++的整数,我想我会打电话

*count++; 

但是,我正在构build警告“expression式结果未使用”。 我可以打电话

 *count += 1; 

但是,我想知道如何使用++。 有任何想法吗?

++与*具有相同的优先级,关联性是从右到左 。 看到这里。 它变得更加复杂,因为即使++将与指针相关联,在语句评估之后也会应用增量。

事情发生的顺序是:

  1. 递增后,请记住递增后的指针地址值作为临时值
  2. 解引用非递增的指针地址
  3. 将递增的指针地址应用于计数,现在指向下一个可能的内存地址。

你会得到警告,因为你从来没有在第二步使用解除引用的值。像@Sidarth说的,你需要括号来强制执行评估顺序:

  (*ptr)++ 

尝试使用(*count)++*count++可能会增加指向下一个位置的指针,然后使用间接(这是无意的)。