C 没有初始化指向 struct 的指针

时间:2021-07-27 00:55:17

标签: c

int main(int argc, char const *argv[])
{
    LISTA *lista1;
    LISTA *lista2;
    crearLista(lista1);
    crearLista(lista2);
    STR *s = crearSTR("Hola");    // sin restricción de longitud
    NUMBER *n = crearNRO(10);     // solo usar enteros.
    agregarLista(lista1, s);    // el orden de adición define
    agregarLista(lista1, n);    // lo que se quiere.
    agregarLista(lista1, lista2); // lista de lista
    destruirSTR(s);
    destruirNRO(n);
}

在 LISTA.c 中

void crearLista(LISTA *Lista)
{
    LISTA nueva;
    *Lista=nueva;
}

LISTA.h

typedef struct lista LISTA;
void crearLista(LISTA *Lista);
void agregarLista(LISTA *Lista, void *elem);

这给了我一个分段错误。在 gdb 中,lista1 变量在 0x0 中初始化,我不明白为什么。

1 个答案:

答案 0 :(得分:-2)

您的错误出现在函数 crearLista() ...

nueva 的值从何而来? (这不是……)