eai galera,
alguem sabe onde esta o erro nesse fragmento?:
struct adc_contato contato;
char buffer[60];
printf("Nome: ");
gets(buffer);
---> contato.nome = (char*) malloc((strlen(buffer)+1)*sizeof(char));
strcpy(contato.nome, buffer);
o compilador diz que tem tipos incopativeis, mas nao sei aonde
abracos
Como está declarado o struct adc_contato ?
assim:struct adc_contato //para adicionar contatos
{
char nome[60];
long int telefone;
};
int opcao;
char cont = 's';
Quando você declarou:
char nome[60];
Já reservou espaço de memória para nome.
Portanto, usar malloc é desnecessário.
Abs.
Arrays não são ponteiros. E ponteiros não são arrays.
Se você quiser usar um ponteiro para char e inicializa-lo dinamicamente, declare nome como char*
Caso contrário, você já reservou espaço fixo para 30 chars, e o array permite acessa-los diretamente.