在 C 语言中,要声明一个指针指向二维数组的首地址,你可以这样写:
int (*p)[3];
其中,int
表示数组中的元素类型,[3]
表示数组中有 3 个元素,(*p)[3]
表示 p
是一个指针,它指向一个有 3 个元素的数组。
你也可以这样声明:
int *p[3];
这表示 p
是一个有 3 个元素的数组,每个元素都是一个指向 int
类型的指针。
要注意,二维数组和指针的声明方式不同,如果你把它们搞混了,编译器可能会报错。
例如,如果你想声明一个指针指向二维数组的首地址,但你写成了这样:
int *p[3][3];
这是错误的,因为这样声明的 p
是一个有 3 个元素的数组,每个元素都是一个有 3 个元素的数组,这显然不是你想要的。