#include<stdio.h>
#include<conio.h>
#include<malloc.h>
struct node{
int value;
struct node *link;
}*p,**q,*r,*temp;
static int n=0;
void append(struct node **,int);
main(){
append(&p,1);
append(&p,2);
append(&p,3);
append(&p,4);
append(&p,5);
printf("Entered linked list :\n");
//display(p);
getch();
}
void append(struct node **q,int num){
if(n==0){
struct node *temp=(struct node*)malloc(sizeof(struct node));
temp->value=num;
temp->link=NULL;
*q=p;
n++;
}
else{
temp=*q;
while(temp->link!=NULL)
temp=temp->link;
r=(struct node*)malloc(sizeof(struct node));
r->value=num;
r->link=NULL;
temp->link=r;
//q=p;
}
}
このメッセージの理由を教えてください。
linkedlist.c.exe の 0x00fa14ea で未処理の例外: 0xC000005: アクセス違反の読み取り場所 0x0000004
Visual Studio 2010 でこのプログラムを実行しているときに、