我想用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功能。當頭指向最後一個元素時,它似乎沒有看到NULL ...它只是繼續前進。 我不知道如何解決它現在。