Wikipedia 给出了以下示例
#include <stdio.h>
int main()
{
char *p2;
*p2='b';
return 0;
}
并说它应该导致分段错误,引用下面的原因
这里,p2可能指向内存中的任何位置,因此执行赋值* p2 ='b';可以破坏未知的内存区域或触发分段错误。
但是在Atom中运行它时,我没有收到任何错误。我的命令提示符为空白
关于此的任何想法
答案 0 :(得分:0)
如你所说,p2可以指向任何地方。当您尝试修改不属于操作系统为您运行程序的内存部分的内存部分时,会出现分段错误错误。因此,如果您没有获得seg错误,则意味着此指针指向属于您的内存的地址。如果重复运行此代码,则可能会出现seg错误。