分配给整数指针会导致崩溃

时间:2014-08-28 09:05:33

标签: c pointers segmentation-fault

我有一个简单的程序,如:

#include <stdio.h>

int main(void){
*(int*) 1 = 1;
return 0;
}

但是为什么它会给我分段错误?

2 个答案:

答案 0 :(得分:1)

这很可能不会导致大多数系统崩溃。作业

*(int*)1 = 1;

尝试使用地址1为内存中的位置分配1.这是非常未定义的行为,并且在大多数系统中,内存保护机制在您尝试时会引发错误。

答案 1 :(得分:1)

您的代码尝试写入地址为0x01的内存。

当程序试图访问不允许访问的内存位置时,会发生分段错误。