跳转至

指针数组与数组指针

概念区分

声明 类型 含义
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