未分配内存的指针导致段错误

一个最简单的队列初始化操作案例:

未分配内存的指针导致段错误_第1张图片

编译可以通过:但是运行程序时,会出现段错误:Segmentation fault

 分析:主函数中声明了队列的一个指针(只是声明,并未实际分配地址空间),调用初始化函数queue_init(*lk),在函数中直接利用指针进行了操作,在一个没有空间的空间里进行操作犹如空中楼阁。导致内存错误!

改正如下(分配内存空间)即可:

未分配内存的指针导致段错误_第2张图片

注意:queueLk *lk = NULL;不行,指向空,还是没内存,是个野指针。

 

你可能感兴趣的:(未分配内存的指针导致段错误)