typedef int quint;
typedef struct qnode{
quint data;
struct qnode* next;
}qnode;
typedef struct qu {
qnode * head;
qnode* tail;
}qu;
void intqu(qu *q) {
if(q == NULL)
{
exit(-1);
}
q->head = NULL;
q->tail = NULL;
}
void pushqu(qu* q, quint x) {
qnode* newnode = (qnode*)malloc(sizeof(qnode));
if (newnode == NULL) {
printf("内存分配不成功!\n");
}
else {
newnode->data = x;
newnode->next = NULL;
}
if (q->head == NULL) {
q->head = q->tail = newnode;
}
else {
q->tail->next = newnode;
q->tail = newnode;
}
}
void popqu(qu* q) {
if (q->head == NULL) {
printf("删除失败,队列空");
}
else {
qnode* tem = q->head->next;
q->head = NULL;
free(q->head);
q->head = tem;
if (q->head = NULL)
{
q->tail = NULL;
}
}
}
quint QueueFront(qu* qu)
{
if (qu == NULL)
return 0;
else
return qu->head->data;
};
quint QueueBack(qu* qu)
{
if (qu == NULL)
return 0;
else
return qu->tail->data;
};
int main() {
qu q;
intqu(&q);
pushqu(&q, 1);
pushqu(&q, 2);
popqu(&q);//这里报错,说引发了异常: 读取访问权限冲突。q.head 是 nullptr。
printf("%d", q.head->data);
return 0;
}
c语言数据结构队列问题,出现nullptr,请问是哪里有问题呢
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 快乐鹦鹉 2023-04-11 20:08关注
52行改为if (q->head == NULL)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 三种调度算法报错 有实例
- ¥15 关于#python#的问题,请各位专家解答!
- ¥200 询问:python实现大地主题正反算的程序设计,有偿
- ¥15 smptlib使用465端口发送邮件失败
- ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
- ¥15 对于squad数据集的基于bert模型的微调
- ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
- ¥20 steam下载游戏占用内存
- ¥15 CST保存项目时失败
- ¥20 java在应用程序里获取不到扬声器设备