段错误一般分为两种:访问非法内存和数组越界
1、访问非法内存
1、解引用空指针
int* p=NULL;
printf("%d\n",p);
2、访问含有非法值的内存。
例如:访问被 register 修饰过的指针变量
register int p =10;
printf("%d\n",*p);
//register是c语言32个关键字之一,会让变量直接存储在内核的寄存器中,所以不能访问它修饰过的变量的地址
2、数组越界
当使用malloc申请了一页内存,但使用却超出了一页时
c语言--段错误总结
最新推荐文章于 2023-09-12 21:52:14 发布