段错误就是访问了不可访问的内存,这个内存区要么是不存在的,要么是受到系统保护的。
产生段错误的原因主要有:
1.解引用空指针
2.访问不可访问的内存空间(如内核空间)
3.访问不存在的内存地址
4.试图写一个只读内存空间(如代码段)
5.栈溢出(函数递归调用)
6.使用未初始化的指针(定义时没有初始化或者已经回收)
避免段错误
1.定义指针后初始化
2.数组下标是否越界
3.在堆上分配空间是否足够(内存限制)
4.变量处理时格式控制是否合理写自定义目录标题)
段错误就是访问了不可访问的内存,这个内存区要么是不存在的,要么是受到系统保护的。
产生段错误的原因主要有:
1.解引用空指针
2.访问不可访问的内存空间(如内核空间)
3.访问不存在的内存地址
4.试图写一个只读内存空间(如代码段)
5.栈溢出(函数递归调用)
6.使用未初始化的指针(定义时没有初始化或者已经回收)
避免段错误
1.定义指针后初始化
2.数组下标是否越界
3.在堆上分配空间是否足够(内存限制)
4.变量处理时格式控制是否合理写自定义目录标题)