段错误出现的原因有哪些?怎样去避免?

段错误就是访问了不可访问的内存,这个内存区要么是不存在的,要么是受到系统保护的。

产生段错误的原因主要有:

1.解引用空指针
2.访问不可访问的内存空间(如内核空间)
3.访问不存在的内存地址
4.试图写一个只读内存空间(如代码段)
5.栈溢出(函数递归调用)
6.使用未初始化的指针(定义时没有初始化或者已经回收)

避免段错误

1.定义指针后初始化
2.数组下标是否越界
3.在堆上分配空间是否足够(内存限制)
4.变量处理时格式控制是否合理写自定义目录标题)

你可能感兴趣的:(AIOT小白日记,内核,指针,内存管理,操作系统,数据结构)