c - C 中 int *[5] 和 int (*)[5] 有什么区别?

标签 c pointers dereference

我试图理解 int *[5] 之间的区别和int (*)[5] 我的简单代码如下。

int main()
{
    int a[5] = {10,11,12,13,14};
    int *ptr[5];
    ptr = &a;
}
<小时/>
  • int *[5] 和有什么区别和int (*)[5]用 C 语言?

最佳答案

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

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

int a[5][4] - a 是一个多维数组,其中 5 个维度为 4 个 int。

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

关于c - C 中 int *[5] 和 int (*)[5] 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59641301/

相关文章:

c - C指针数组下标,不能从0开始

c - 字体图形例程

c - C语言中位反转(从MSB-> LSB到LSB-> MSB)的高效算法

c++ - 将 int 数组放入 char 中。 C 或 C++

c - 如何从 c 中的指针设置结构成员

c - 在 C 中使用指针的练习给出了不明确的输出

c++ - 如何输出一个字符**

ios - 在 iOS 的 C 函数中使用 ARC 取消引用指针

c++ - 在此示例中使用取消引用运算符 (c++)

c - 为什么 *pp[0] 等于 **pp