【发布时间】:2021-06-22 18:29:14
【问题描述】:
所以我正在学习 C 并且对我正在学习的网站上的这个陈述感到有些困惑。
如果你有
char ch_arr[3][10] = {
"spike",
"tom",
"jerry"
};
它是这么说的。
ch_arr是一个指向 10 个字符的数组或int(*)[10]的指针
但是int(*)[10]是什么意思,如果这是一个字符数组,为什么指针不是char类型?
提前致谢,如果问题不好,我很抱歉,我正在努力提高提问能力。
【问题讨论】:
-
网站是什么?指向 10 个字符数组的指针的类型为
char(*)[10],而不是int(*)[10]。可能是网站上的拼写错误。 -
您好,我正在查看的网站和具体页面在这里overiq.com/c-programming-101/array-of-strings-in-c
-
"ch_arr 是一个指针" -->。不,
ch_arr是一个数组。 array 3 of array 10 of char。指针不是数组。数组不是指针。 -
但是数组名不就是指向C语言第一个元素的指针吗?
-
@Sekken 不,它在大多数但不是所有上下文中都“转换”为指针。例如,
sizeof ch_arr产生数组对象的大小,而不是指针的大小。请参阅我之前评论中的链接。数组不是指针。
标签: c