在链表的末尾插入一个节点,。exe崩溃

时间:2016-07-09 17:20:32

标签: c doubly-linked-list

我试图制作一个简单的程序,我将测验问题插入到链表中。 代码崩溃在: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代表下一个代码。

1 个答案:

答案 0 :(得分:4)

这似乎只是一个小错误:

if(novo=NULL){

应该是:

if(novo==NULL){