早教吧 育儿知识 作业答案 考试题库 百科 知识分享

同样一个题目#include#includetypedefintDataType;typedefstructnode{DataTypedata;structnode*next;}LinkList;void*InitList(LinkList*head);LinkList*AddHead(LinkList*head,DataTypex);voidmain(){LinkList*l=NULL;InitList(l);

题目详情
同样一个题目#include #include typedef int DataType; typedef struct node{ DataType data; struct node *next; }LinkList; void *InitList(LinkList *head); LinkList *AddHead(LinkList *head,DataType x); void main(){ LinkList *l=NULL; InitList(l); AddHead(l,4); } void *InitList(LinkList *head) { head=(LinkList*)malloc(sizeof(LinkList)); head->next=NULL; return head; } LinkList *AddHead(LinkList *head,DataType x){ LinkList *p; p = (LinkList *)malloc(sizeof(LinkList)); p->data = x; p->next = head->next; head->next = p; return head; } 我用的是VC++6.0精简版 调用第二个函数的时候会出现对话框 说内存不是read 麻烦看下
▼优质解答
答案和解析
你好. 你可以InitList调用完成后,将其返回值赋值给l; 这样就不会有问题了; void main(){ LinkList *l=NULL; l=(LinkList *)InitList(l); //或者将该函数的返回类型改为 LinkList * ; AddHead(l,4); }