Code Bye

求帮助啊,关于结构的一个小问题

typedef struct node
{
char data[MAXD];
struct node* next;
}RecType1;
RecType1* p, *q;
p->next = NULL;
这里为什么报错p没有初始化啊,新手请教
解决方案

20

RecType1* p;
这样写仅仅是声明了一个指向RecType1对象的指针
此时p存的是个垃圾值,指向的是一块未知的内存区域
你的p->next = NULL;尝试向垃圾区域写入值,报异常了
可以写成
RecType1* p = NULL;

或分配空间

RecType1* p = (RecType1*)malloc(sizeof(RecType1));

10

尝试对一个未分配的内存的类型指针进行操作,编译器认为这是让他选择狗带。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明求帮助啊,关于结构的一个小问题