以下2个声明是否有任何区别

时间:2012-03-05 01:34:14

标签: c pointers multidimensional-array

int *(a[10])int *a[10]之间是否存在差异?

我猜他们是一样的但是,想要得到确认,因为括号让我感到困惑。

2 个答案:

答案 0 :(得分:2)

不,这两者之间没有区别。它们相同的原因是因为[]的优先级高于*,所以括号基本上是多余的。它们都是10个int指针数组的声明。

然而 是以下之间的区别:

  • int *a[10];
  • int (*b)[10];

在这种情况下,a是一个包含10个int指针的数组,b是指向数组 10 int指针第

答案 1 :(得分:0)

没有区别! MSVC的智能感知功能告诉我。