- 指针的数组
int * a[3];定义一个数组,数组有三个元素,每个元素都是指针。
int x1;
int x2;
int x3
int *a[3] = {&x1, &x2, &x3}
a的类型为 int*[3]
- 数组的指针
int (*a)[3]:a首先是一个指针,如果对a解引用,对应一个具有三个int元素的数组。
int b[3];
int (*a)[3] = &b;
*a = int[3]
a的类型为int(*)[3]
- 数组的引用
int b[3]
int (&a)[3] = b
a首先是一个引用,a的类型为int(&)[3]
-
没有引用数组
引用:对象的别名,本身不是对象 -
数组作为右值使用,返回对应第一个元素的指针。此时 *b = a[0] = 1
-
指针可以看做数组