当然。
在 C99 中存在三种基本情况,即:
当它是&
(address-of) 运算符的参数时。
当它是sizeof
运算符的参数时。
当它是用于初始化数组的类型的字符串文字char [N + 1]
或类型的宽字符串文字wchar_t [N + 1]
(是字符串的长度)时,如 in或.N
char str[] = "foo";
wchar_t wstr[] = L"foo";
此外,在 C11 中,新引入的alignof
运算符也不让其数组参数衰减为指针。
在 C++ 中,还有其他规则,例如,当它通过引用传递时。