现在的位置: 首页 > 综合 > 正文

几种典型的段错误

2018年01月18日 ⁄ 综合 ⁄ 共 246字 ⁄ 字号 评论关闭
1,int main(void)
{ 
char*s ="hello world";
*s ='H';
}
被装载时,系统把“hello world” 连同其它的字符串和const型数据放入到内存的只读区。执行时,一个变量s被设为指向该字符串的位置,当再试图向该位置写时,就会产生段错误。
2,
int*ptr = NULL;
*ptr =1;
因为该代码只创建了一个空指针,并没有指向一个具体空间,当赋值时,产生段错误。
3,
int main(void)
{
main();
return0;
}
无限递归,这会导致栈溢出,也会产生段错误。

抱歉!评论已关闭.