Se a função Conj_Cria retorna um ponteiro para o tipo CONJUNTO:
CONJUNTO* Conj_Cria();
Então quando a utilizamos, de forma simples seria:
CONJUNTO* c = Conj_Cria();
Como minha lista possui cabeça, a função Conj_Insere precisa alterar o valor do ponteiro c. Logo eu teria que passar o ponteiro por referência, o que pediria a definição:
int Conj_Insere (CONJUNTO **set, Elem v);
e não da forma como está enunciado:
int Conj_Insere (CONJUNTO *set, Elem v);
Se eu fizer a referência de ponteiro estará errado? Pois é assim que entendo e funciona bem!
>
Como minha lista possui cabeça
O valor de c é o endereço da cabeça da lista. Esse valor não deve ser alterado.
O que a função Conj_Insere precisa e pode fazer é alterar o valor de c->prox, mas não o valor de c.
Zé Augusto
O valor de c é o endereço da cabeça da lista. Esse valor não deve ser alterado.
O que a função Conj_Insere precisa e pode fazer é alterar o valor de c->prox, mas não o valor de c.
Zé Augusto
Como o psor falou só adicionando um pouco se vc altera o c vc está usando lista sem cabeça, ai sim vc precisa alterar a função para ** mas se vc usa cabeça vc altera somente a cabeça c->prox.