c - c中的int(*pt)[5]是什么意思

标签 c arrays pointers

<分区>

我已经阅读了一些关于此类型声明的内容。 声明是:

int (*arr)[5];

我对这个类型声明有点困惑。实际上这个声明的含义是什么,我们什么时候使用它。

最佳答案

int *arr[5]

arr 是 5 个指针的数组

int (*arr)[5]

arr 是一个指向包含 5 个整数元素的数组的指针

检查下面的代码:

int a[5] = { 1,2,3,4,5};
int (*arr)[5] = &a;
printf("%d",(*arr)[2]);

现在可以像这样访问数组元素了

(*arr)[i​​] 不是*arr[i]

关于c - c中的int(*pt)[5]是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27811025/

相关文章:

c - 在 Solaris 上编译 ruby​​ 1.9.3 时出错

二叉树的中心

jquery - 从 jquery 中的另一个数组创建一个项目数组

c - 使用数组和随机数循环打印一个简单的 5 x 5 板

c++ - 指针的真正“意义”是什么?

c++ - 对象数组的变量类型

c - 我做错了什么?使用 scanf 的 if 语句无法与输入正常工作

C: 数组下标低于数组边界

c - 在 C 中操作字符串

c - 难以理解函数指针