Estou concluindo uma atividade porém o código não funfa. Estou trabalhando em um array dinamico para receber palavras de um arquivo txt. Estou compilando o mesmo no GCC no linux. Segue o código:
char **alocacaoDinamica(){//Função responsavel por criar um vetor dinamico bidimensional
char **pm; //ponteiro para matriz, ponteiro de ponteiro
pm = (char **) malloc(10*sizeof(sizeof(char *)));//aloca memória para o vetor principal, está disponibilizando 10 espaços
if(pm[0] == '\0'){//se o ponteiro retornar null ou seja, não há espaço na memória para alocação
printf("Memória Insuficiente!!\n");
}
return pm;
}
int main (void){
char pm;//ponteiro da alocação dinamica
int l=0;//controle de cada linha do arquivo txt
char string[10];
//char listaNome [10][10];//array de String 10x10,10 posições de 10 caracteres
//char nomeProcura[10];
FILE *file;//cria um ponteiro do tipo file
file = fopen("string.txt","r");//o ponteiro recebe o dado dentro do arquivo txt, O (r) lê arquivo
//printf("Digite a palavra para pesquisa:");
if (file == NULL){
printf("Não foi Possivel Abrir o Arquivo");
getchar();
exit(0);//mata o programa
}else{
while(fgets(string,sizeof(string)/**quantidade de palavras do arquivo txt*/,file) != NULL){//enquanto o que retornar for diferente de null, ou seja, não for vazio.Detalhe: essa função lê a string até a quebra de linha
pm = alocacaoDinamica;
strcpy(pm[1][1],string);
l++;
}
fclose(file);
}
return 0;
}
Erro apresentado:
buscaLinear.c:33:8: warning: assignment makes integer from pointer without a cast [enabled by default]
pm = alocacaoDinamica;
^