【发布时间】:2013-07-19 03:29:56
【问题描述】:
我在许多帖子中看到“在大多数情况下,数组名称会衰减为指针”。
我能否知道在哪些情况/表达式中数组名称不会衰减为指向其第一个元素的指针?
【问题讨论】:
-
需要更多上下文:您是否使用特定语言工作?你有例子吗?
-
考虑 C 语言。我正在寻找一个数组名称不会衰减为指针的示例。
-
@TheJoker 我给了here an answer,我在其中展示了这些案例
-
关于 H2Co3 的第二点,即使用 sizeof,我正在阅读 Head First C,它首先说明了在 msg 作为参数传入的函数中使用 sizeof(msg) 的指针衰减。他们有一个小盒子解释说,当数组变量作为参数(释义)传递给函数时,它会衰减为指针,所以你得到 4 或 8(字节),而不是数组大小。我很困惑,因为在字符串库的下一章中,他们介绍了 strlen() 并以与使用 sizeof() 相同的方式使用它。我来这里是为了把我的头伸直,现在你把它扭曲了一点。 :P
-
This answer 包含所有例外示例。