在链表末尾插入一个节点,.exe 崩溃
Inserting a node at the end of linked list, .exe crashes
我正在尝试制作一个简单的程序,我将测验问题插入到链表中。
代码崩溃于:novo->nodo=info;
void InserirFim(ELEMENTO **iniLista, ELEMENTO **fimLista, INFO info){
ELEMENTO *novo=NULL;
novo=(ELEMENTO *)calloc(1,sizeof(ELEMENTO));
if(novo=NULL){
printf("ERROR ao reservar a memoria \n");
return;
}
novo->nodo=info;
novo->anterior=NULL;
novo->seguinte=NULL;
if(*iniLista==NULL){
*iniLista=novo;
*fimLista=novo;
}
else{
novo->anterior=*fimLista;
(*fimLista)->seguinte=novo;
*fimLista=novo;
}
return;
}
节点携带的所有变量都不为空。
很抱歉代码是葡萄牙语,但是 novo 代表新的,前部代表之前,seguinte 代表下一个。
看来只是一个小错误:
if(novo=NULL){
应该是:
if(novo==NULL){
我正在尝试制作一个简单的程序,我将测验问题插入到链表中。
代码崩溃于:novo->nodo=info;
void InserirFim(ELEMENTO **iniLista, ELEMENTO **fimLista, INFO info){
ELEMENTO *novo=NULL;
novo=(ELEMENTO *)calloc(1,sizeof(ELEMENTO));
if(novo=NULL){
printf("ERROR ao reservar a memoria \n");
return;
}
novo->nodo=info;
novo->anterior=NULL;
novo->seguinte=NULL;
if(*iniLista==NULL){
*iniLista=novo;
*fimLista=novo;
}
else{
novo->anterior=*fimLista;
(*fimLista)->seguinte=novo;
*fimLista=novo;
}
return;
}
节点携带的所有变量都不为空。
很抱歉代码是葡萄牙语,但是 novo 代表新的,前部代表之前,seguinte 代表下一个。
看来只是一个小错误:
if(novo=NULL){
应该是:
if(novo==NULL){