c - 指向字符数组的指针
问题描述
所以我正在学习 C 并且对我正在学习的网站上的这个陈述感到有些困惑。
如果你有
char ch_arr[3][10] = {
"spike",
"tom",
"jerry"
};
它这么说。
ch_arr
是指向 10 个字符的数组的指针或int(*)[10]
但是,这是什么意思int(*)[10]
,如果这是一个字符数组,为什么指针不是char类型呢?
在此先感谢,如果问题不好,我很抱歉,我正在努力提高提问的能力。
解决方案
这是一个二维数组。每个字符串(例如“spike”)都是一个字符数组。这意味着它基本上是一个包含数组的数组。
char ch_arr[3][10] = {"spike", "tom", "jerry"};
ch_arr
然后可以将二维数组转换为指针。在 C 和 C++ 中,数组到指针的转换在访问时自动应用于每个数组,因此指针指向第一个元素,char[10]
在这种情况下属于类型。char(*)[10]
因此,正如Keith Thompson在评论中指出的那样,指针是 type 。
关于您正在使用的网站......它包含一些错误,所以我会使用不同的来源。
推荐阅读
- php - 我应该在 https 上使用什么启动 slim3 应用程序
- c# - 检查 IE/Chrome/FireFox/Safari 中是否安装了 PDF 查看器插件
- java - 如何创建一个泛型方法来返回枚举值数组而不是其常量?
- java - ActiveMQ 错误每 30 分钟 -java.io.IOException:1140 MB 的帧大小大于允许的最大 100 MB
- java - 如何防止在 Spring REST Controller 中创建 HttpSession
- xslt - XSLT - 循环遍历元素并转换为 HTML
- python - 在 Django 中处理用户触发事件的正确方法是什么?
- c - 在 ARM 模拟器上运行 Hello World
- java - Spring MvcTest 控制器@WithUserData 使用@AuthenticationProtocol 在控制器处提供空值
- webpack - webpack 配置文件中的 devtool 和其他插件的(例如 UglifyjsWebpackPlugin)sourcemap 选项有什么区别?