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 中初始化,我不明白为什么。
答案 0 :(得分:-2)
您的错误出现在函数 crearLista()
...
nueva
的值从何而来? (这不是……)