- 任意的数组,不管有多复杂,其定义都由两部分组成。
- 第1部分:说明元素的类型,可以是任意的类型(除了函数)
- 第1部分:说明数组名和元素个数
int a[4]; // 第2部分:a[4]; 第1部分:int
int b[3][4]; // 第2部分:b[3]; 第1部分:int [4]
int c[2][3][4]; // 第2部分:c[2]; 第1部分:int [3][4]
int *d[6]; // 第2部分:d[6]; 第1部分:int *
int (*e[3])(int, char); // 第2部分:e[3]; 第1部分:int (*)(int, float)
- 注解:
- 上述示例中,a[4]、b[3]、c[2]、d[6]、e[3]本质上并无区别,它们均是数组
- 上述示例中,a[4]、b[3]、c[2]、d[6]、e[3]唯一的不同,是它们所存放的元素的不同
- 第1部分的声明语句如果由多个单词组成,C语言规定需要将其拆散写到第2部分的两边
int *d[6];
int *d[6];
是一个 C/C++ 中的声明语句,表示一个指针数组,其中包含了6个指向整型变量的指针。
具体解释如下:
d
是一个数组名,它是一个指针数组&