数组衰减为指针的异常?我在许多帖子中看到,“在大多数情况下,数组名称会衰减为指针”。我能知道在什么情况下,数组名称不会衰减为指向其第一个元素的指针?
2 回答
精慕HU
TA贡献1845条经验 获得超8个赞
当这是 &
(地址-of)接线员。 当这是 sizeof
接线员。 当它是类型为字符串的文字时 char [N + 1]
或类型为宽字符串的文字。 wchar_t [N + 1]
(N
用于初始化数组的字符串的长度,如 char str[] = "foo";
或 wchar_t wstr[] = L"foo";
.
alignof
PIPIONE
TA贡献1829条经验 获得超9个赞
首先,在初始化时,它特别写着“字符串文字”。它根本没有提到“数组表达式”或“表达式”。因此,字符串字面语法恰好在两处使用:作为初始化的右侧,也用作表达式。这并不意味着初始化的右侧是表达式。另外,专门问到的关于“数组名称”的问题,而字符串文字不是数组名称,您不能将数组名称(或任何其他数组表达式,除了字符串文字)放在数组初始化的右侧。
- 2 回答
- 0 关注
- 308 浏览
添加回答
举报
0/150
提交
取消