|
|
1
5
这是未定义的行为-在您的情况下,它正按照您所描述的那样工作,但它也可能使程序崩溃或导致任何其他问题。对你来说
|
|
|
2
3
不可依赖未定义的行为;-) |
|
3
1
如果C真的阻止了它的工作,你真的想用它吗?它以这种方式工作的事实在很大程度上符合语言的精神。 |
|
4
1
阅读您的评论“它只会给出一个警告说可疑的指针转换”应该足够清楚地推断出您正在做一些非法的事情。
事实上,C没有任何运行时检查来阻止您修改内存地址并不意味着它是允许的(实际上,静态类型系统检查告诉您)。 |
|
|
5
1
如果你的没有自动检测到这个,那就给自己找一个像样的编译器。例如,clang给了我4个代码问题:
这些都是严重的问题。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |