2011-11-10 21 views

回答

4

不,括號是沒有必要的,是的,這兩個是等價的。數組下標has higher precedence比地址運算符。

+0

請注意,* everything * postfix的優先級最高,所以像' - >'這樣的運算符總是在中綴和前綴運算符之前應用。 – caf

2

然而,在C,它相當於

int *hello = Array+id; 

(假設Array被的int -s陣列或一個指向int)。

我敢說在C中使用指針加法而不是數組元素的地址是比較常用的,也就是說比較習慣用法(但這是一個味道問題)。

PS。 C++中的等價關係是不正確的,例如因爲operator +operator []可能是用戶定義的(但不適用於指向int-s的指針)。