最近在刷PAT,会出现段错误这类错误,总结一下段错误的出现原因。
- 数组越界
数组越界应该是最常见的段错误了,一般在定义数组的时候大小可能有所偏差,注意题目中的数组范围即可。 - 堆栈溢出
在写递归的时候,可能会出现递归调用层数太多导致堆栈溢出,可以将大数组作为全局变量,可以开到很大避免溢出。 - 变量未初始化
这是我在做题的时候偶然发现的,题目对数组大小限制不大,又没有用到递归,找了半天试着把几个变量初始化后发现错误没了,具体原因不知道,可能是变量随机分配到给定的内存空间外 ?
最近在刷PAT,会出现段错误这类错误,总结一下段错误的出现原因。