C 在这方面是否需要paren:&;(数组[id])?发送元素#id';s指针

C 在这方面是否需要paren:&;(数组[id])?发送元素#id';s指针,c,arrays,pointers,C,Arrays,Pointers,若我有一个数组,并且想要将指针分配给数组的第id个元素,那个么这些元素是等价的吗 int* hello = &Array[id]; int* hello = &(Array[id]); 不,括号是不必要的,是的,这两个是等价的。数组下标大于地址运算符。否,不需要括号,是的,这两个是等效的。数组下标大于地址运算符。然而,在C中,它相当于 int *hello = Array+id; (假设Array是int-s的数组或指向int的指针) 我敢说,在C语言中,使用指针加法而不

若我有一个数组,并且想要将指针分配给数组的第id个元素,那个么这些元素是等价的吗

int* hello = &Array[id];

int* hello = &(Array[id]);

不,括号是不必要的,是的,这两个是等价的。数组下标大于地址运算符。

否,不需要括号,是的,这两个是等效的。数组下标大于地址运算符。

然而,在C中,它相当于

 int *hello = Array+id;
(假设
Array
int
-s的数组或指向
int
的指针)

我敢说,在C语言中,使用指针加法而不是获取数组元素的地址更为常见,也就是说,更为惯用(但这是一个品味问题)


<> P.P.S.在C++中等价性不是真的,例如,因为<代码>操作符+< /COD>和<代码>运算符[]/Cord>可以被用户定义(但是对于指针不指向ITO -S)。< /P> < P>但是,在C中,它等同于

 int *hello = Array+id;
(假设
Array
int
-s的数组或指向
int
的指针)

我敢说,在C语言中,使用指针加法而不是获取数组元素的地址更为常见,也就是说,更为惯用(但这是一个品味问题)

<> P.P.S.在C++中,等价性不是真的,例如,因为<代码>操作符+< /COD>和运算符[]/Cord>可以被用户定义(但不适用于指向ITO -S的指针)。所以像
->
这样的运算符总是在中缀和前缀运算符之前应用。请注意,所有后缀都具有最高的优先级,所以像
->
这样的运算符总是在中缀和前缀运算符之前应用。