GCC中c语言指针问题 求指导

我定义的结构体
typedef int ElemType;
4 typedef struct node {
5 ElemType data;
6 struct node *next;

7 }QueueNode,*LinkQueue;

我的一个函数
void EnterQueue(LinkQueue Q,ElemType member)
11 {
12 QueueNode *temp;
13 temp=(QueueNode *)malloc(sizeof(QueueNode));
14 temp->data=member;
15 Q->next=temp;
16 temp->next=NULL;
17

18 }

gcc 编译通过,运行core 段错误 gdb找错 显示函数里Q->next=temp; 这句话出错了,,,
新手 求指导

3个回答

代码开头添加
if(!Q)return; //
空指针,会导致错误
必须检查指针是否非空指针

确认传入进来的参数,Q指针。

引用该指针前,必须先判断指针是否为空,否者是随机的传入栈内数值,发生段错误等未知错误

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐