++arp[c];是什么意思

问题描述 投票:0回答:1

有什么区别

int *arp = NULL;
int c;
++arp[c];

还有

int *arp = NULL;
int c;
arp[c]; c++;

请问我需要知道这个增量的含义

++arp[c];

arrays c pointers
1个回答
3
投票
++arp[c];

这会解引用

arp[c]
(与
*(arp + c)
相同),然后使用预递增运算符将
arp[c]
中的值增加 1。
c
保持不变。

arp[c];
c++;

这会取消引用

arp[c]
但不会对其执行任何操作,因此毫无意义。之后,它使用后置递增运算符将
c
加 1。
arp[c]
保持不变。

注意:两个片段都有未定义的行为,因为

arp
指向
NULL
并且
c
在您读取时未初始化。

© www.soinside.com 2019 - 2024. All rights reserved.