指针数组与数组指针
概念区分
| 声明 | 类型 | 含义 |
int *p[5] | 指针数组 | 5 个元素,每个是 int* |
int (*p)[5] | 数组指针 | 1 个指针,指向 int[5] |
示例
int a[5] = {1, 2, 3, 4, 5};
int (*p)[5] = &a; // 数组指针
for (int i = 0; i < 5; i++) {
printf("%d ", (*p)[i]);
}
int a = 1, b = 2, c = 3;
int *arr[3] = {&a, &b, &c}; // 指针数组
printf("%d", *arr[1]); // 输出 2