我今天在编程时,编译没有问题,但每次都会出现一个词叫“段错误”。
“段错误”,一句话说就是指访问的内存超过了系统给这个程序设定的内存。
之前也出现过"段错误",但那时是因为scanf()中要输入一个值,但没有取地址。但还有什么其他原因呢?我总结了下:
1.访问不存在的内存地址
2.访问系统保护的内存地址
3.访问只读的内存
4.栈溢出
在出现段错误是,应首先想到定义,从而考虑引发错误的原因。
我今天在编程时,编译没有问题,但每次都会出现一个词叫“段错误”。
“段错误”,一句话说就是指访问的内存超过了系统给这个程序设定的内存。
之前也出现过"段错误",但那时是因为scanf()中要输入一个值,但没有取地址。但还有什么其他原因呢?我总结了下:
1.访问不存在的内存地址
2.访问系统保护的内存地址
3.访问只读的内存
4.栈溢出
在出现段错误是,应首先想到定义,从而考虑引发错误的原因。