segmentation fault 即段错误,一般都是出现了非法的地址写法操作导致的。
常见的几种情况:
1、空指针访问。
如果指针为空(NULL), 那么对空指针的读写操作都会导致segmentation fault。
2、指针指向非法区域后的写操作。
C语言的指针指向了非法区域,然后对其写入,会带来不可预知后果,最严重的就是程序崩溃,此时也是segmentation fault。
3、常量空间破坏。
比如常量字符串,如果修改其内容,则会出现segmentation fault。
4、在一些比较老的操作系统上,非对齐访问也可能导致segmentation fault。