![]() |
1
6
宏执行简单的文本替换。预处理器将替换
所以编译器会看到两个字符串文本,并且不能保证它们不会被单独存储(参见alok对标准中相应引用的答案)。该准则确实具有误导性,更合理的做法是声明
|
![]() |
2
5
不,这不是标准的保证。标准中提到了“字符串文字”(6.4.5p6):
这些数组
引用的数组
由于您使用的是宏,编译器看到的代码是:
什么时候?
如上所述,这在C中不保证是正确的。
所以,你必须使用
|
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 7 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 8 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 8 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 8 月前 |