Oi ppl! Estou a fazer o trabalho final de programação e estou com o problema para alocar memoria para um matriz nXn /*Função que aloca memoria e inicia o jogo avançado*/ void avancado(){ char **sodu; int i; *sodu=(char *)malloc(9*sizeof(char)); //*sodu=(char *)calloc(9,sizeof(char)); if(*sodu==NULL){ printf(ERRO2);//não foi possível alocar memoria exit(0); } for(i=0;i<9;i++){ *sodu=(char *)malloc(9*sizeof(char)); //sodu=(char *)calloc(9,sizeof(char)); if (sodu==NULL){ printf(ERRO2);//não foi possível alocar memoria exit(0); } } inic(sodu,9);//inicializa a matriz numero_al(sodu,9,10);//inserir 10 números aleatórios jogar(sodu,9);//inicia o jogo for (i=0;i<9;i++){ free(sodu);//libertar memoria } free(sodu);//libertar memoria } Esta é a função k estou a utilizar, ao compilar não da erros nem avisos, mas ao execotar esta função o programa da “O sodu.exe encontrou um problema e vai ser encerrado. Lamentamos qualquer inconveniente que isto lhe possa causar.” É verdade estou a utilizar o dev-c++; Alguém m pode ajudar? Obrigado pela vossa atenção.