我有一个int指针(int * count)如果我想增加使用++指向的整数我以为我会调用
*count++;
但是,我收到一个构建警告“表达结果未使用”。我可以打电话
*count += 1;
但是,我想知道如何使用++。有什么想法吗?
答案 0 :(得分:84)
++与*具有相同的优先级,而关联性是从右到左。请参阅here.它变得更加复杂,因为即使++将与指针相关联,也会在语句评估之后应用增量。
事情的顺序是:
您收到警告是因为您从未在步骤2中实际使用过去引用的值。就像@Sidarth所说,您需要使用括号来强制执行评估顺序:
(*ptr)++
答案 1 :(得分:14)
尝试使用(*count)++
。 *count++
可能会将指针递增到下一个位置,然后使用间接(这是无意的)。