When trying to copy the String nome
into the String in the Struct novo->nome
the program stops working, if I comment the function strcpy(novo->nome,nome);
the code executes normally.
//Função de inserção:
lista *insere_lista(lista *l,char *nome,int idade){
lista *novo = (lista *)malloc(sizeof(lista));
strcpy(novo->nome,nome);
novo->idade = idade;
novo->proximo = l;
return novo;
}
//Main:
int main(){
int opc,idade;
char *nome;
lista *l;
l = cria_lista();
do{
printf("\n1 - Inserir\n");
printf("2 - Retirar\n");
printf("3 - Mostrar\n");
printf("4 - Busca\n");
printf("0 - Sair\n");
scanf("%d",&opc);
if(opc == 1){
printf("Digite o nome:");
fflush(stdin);
scanf("%s",&nome);
printf("Digite a idade:");
fflush(stdin);
scanf("%d",&idade);
l = insere_lista(l,nome,idade);
}
if(opc == 3){
mostra_lista(l);
}
}while(opc!=0);
}
//Struct:
typedef struct lista{
char *nome;
int idade;
struct lista *proximo;
}lista;