int * x [10]和int(* x)[10]之间的区别

时间:2016-03-27 01:31:28

标签: c arrays pointers

上次我们在编程中进行了测试,其中一个问题是初始化

之间的区别
int *x[10];

int (*x)[10];

有人可以为我澄清这个吗?

1 个答案:

答案 0 :(得分:4)

Type *x[10];

x定义为指向Type的10个指针的数组。所以x本身就是一个包含指向Type的指针的数组。另一方面,

Type (*x)[10];

x定义为指向Type的数组-10的指针。因此x指向大小为10的数组,并且数组包含Type类型的对象。有关如何在C中阅读复杂声明的详细介绍,请参阅this,并尝试cdecl.org