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

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

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

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

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

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

原文地址:https://www.cnblogs.com/kaituorensheng/p/2741594.html