C 语言中的 int *[5] 和 int (*)[5] 有什么区别?

What is the difference between int *[5] and int (*)[5] in C?

我想了解 int *[5]int (*)[5] 之间的区别 我的简单代码如下。

int main()
{
    int a[5] = {10,11,12,13,14};
    int *ptr[5];
    ptr = &a;
}

int a[5] - a 是 5 个整数的数组。

int (*a)[5] - a 是指向 5 int 数组的指针。

int a[5][4] - a 是一个多维数组,具有 5 个维度的 4 个整数。

int *a[5] - a 是一个包含 5 个 int 指针的数组。