dev c++ 中的Program received signal SIGSEGV Segmentation fault

在编写程序的时候程序不能正确输出结果或者程序无法运行
在debug的时候系统提示
在这里插入图片描述
系统提示报错Segmentation fault

从字面上理解
SIGSEGV是是当一个进程执行了一个无效的内存引用,或发生段错误时发送给它的信号。
所以这段话的意思是程序接受一个无效的指针地址,Segmentation fault即是提示我们去注意定义指针的符号。

举个简单的例子

int m;
scanf("%d",m);
int m;
scanf("%d",&m);

这就是一个常见的错误情况
第一个scanf由于缺少指针标识符&导致系统无法访问变量m所对应的地址导致报错
因为scanf本身是不能直接获得变量的值,而是要去访问对应变量 的指针地址而导致系统未能访问到正确的指针地址

那么同理,如果系统报出这种错误
请仔细检查程序中所有运用指针的地方

如果程序中运用了 数组
因为数组也是开辟内存空间 所以也要注意错误

总结一下:Program received signal SIGSEGV Segmentation fault
的错误原因是无法访问的内存
发生的常见原因 是 数组或者指针的原因(数组和指针都是去访问内存)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值