有人可以帮助我了解为什么这会给我带来细分错误吗?该函数应该在列表的末尾添加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;