gpt4 book ai didi

c - 链接列表 - 访问冲突......在哪里?

转载 作者:太空宇宙 更新时间:2023-11-04 00:39:10 25 4
gpt4 key购买 nike

我正在尝试用 C: 实现链表

#include <stdio.h>
#include <stdlib.h>

typedef struct el{
int number;
struct el *next;
} linkedlist;

linkedlist* newel(){
linkedlist *newelement = (linkedlist*)malloc(sizeof(linkedlist));
newelement->number = 10;
newelement->next=NULL;
return newelement;
}

void add(linkedlist **head, linkedlist *item){
if(!*head){
*head = item;
}
else{
item->next = *head;
*head = item;
}
}

void prnt(linkedlist *head){
while(head!=NULL){
printf("%d\n", head->number);
head=head->next;
}
}

int main(){

linkedlist *hd;
add(&hd,newel());
add(&hd,newel());
add(&hd,newel());
prnt(hd);

system("PAUSE");

return 0;
}

我得到:

Unhandled exception at 0x010c14e9 in test.exe: 0xC0000005: Access violation reading location 0xcccccccc.

我尝试调试,问题出在 prnt 函数中。当 head 指向最后一个元素时,它似乎看不到 NULL ......它只是继续前进。我现在不知道如何修复它。

最佳答案

在你的主函数中,初始化:

linkedlist *hd = NULL;

关于c - 链接列表 - 访问冲突......在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16161926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com