【发布时间】:2021-03-10 21:54:58
【问题描述】:
在阅读了这个网站上的一些帖子后,我意识到 C 中的数组不仅仅是我最初认为的常量指针,而且它本身是一种独特的类型,但在大多数情况下,数组“衰减”为指向数组的第一个元素。由于这些新信息,我的脑海中出现了一个问题。假设我们有一个二维 A[10][10]。为什么表达式 *A 的结果是指向数组第一个元素的指针?我认为在这个表达式中,A 衰减为指向数组 A[0][0] 的第一个元素的常量指针,然后应用间接寻址应该给我们A[0][0]的值,但实际上它仍然给了我们数组第一个元素的地址。当然,我的逻辑或我对数组或指针的理解有问题,我哪里弄错了?
提前致谢。
【问题讨论】:
标签: c pointers multidimensional-array indirection