![]() |
1
4
一个像样的编译器 能够 数组 (gcc没有,但clang有: https://godbolt.org/z/lOvl5n ) 对于此代码段:
在您的例子中,“丢失”编译器的是您正在分配给一个指针(数组)
|
![]() |
2
2
C语言对数组的边界检查没有任何要求。这是它快速发展的部分原因。也就是说,编译器在某些情况下可以并且确实执行检查。
例如,如果我用
如果我使用
对你来说,似乎
这就是价值
此代码不会产生任何警告,即使
|
![]() |
3
2
编辑:用标准引号完成重写:
因此
|
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 4 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 4 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 5 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 5 月前 |