【发布时间】:2011-09-18 16:35:00
【问题描述】:
完成 C 教程
#include <stdio.h>
int main() {
short s = 10;
int i = *(int *)&s; // wonder about this
printf("%i", i);
return 0;
}
当我告诉 C s 的地址是一个 int 时,它不应该读 4 个字节吗?
从s 的2 个字节的最左边开始。在这种情况下,这不是非常危险,因为我不知道它在读取什么,因为 short 只分配了 2 个字节?
如果尝试访问我没有分配/不属于我的内存,这不会崩溃吗?
【问题讨论】:
-
停止阅读该教程。这种事情确实不好。
-
哪个教程?然后我们可以把它放在我们的心理黑名单上。
标签: c