有人可以帮助我了解为什么这会给我带来细分错误吗?该函数应该在列表的末尾添加n。

    typedef struct lligada {
    int valor;
    struct lligada *prox;
} *LInt;

void appendL (LInt *l, int n){
    LInt new=(LInt)malloc(sizeof(struct lligada));
    while ((*l) && (*l)->prox) l=&((*l)->prox);
    (*l)->prox=new;
    new->valor=n;
    new->prox=NULL;
}

最佳答案

如果最初的头节点等于NULL,则此语句

给您分段错误。
更正确的函数定义可能如下所示

(*l)->prox=new;

10-06 11:15