wowmiguelfcp
Power Member
Boas malta.
Andei aqui numa de tirar o ferrugem em programação em C e dediquei-me a fazer uma pequena experiência.
E ora bem estou aqui com um problema e aposto que tem a ver com alocação de memória.
Ora bem eu tenho aqui uma função que se chama gerar_todas_chaves e um enxerto do código é este:
A função gerar_chave e ordenar_chave retorna uma chave, chave esta que é definida por uma estrutura que defini.
O que acontece é que quando executa esta linha (todas_chaves = gerar_chave() o programa crasha. Eu sei que tem a ver com a alocação, mas não consigo descobrir o erro. Já há muito que não programava também xD
Agradeço a vossa ajuda.
Cumprimentos
Andei aqui numa de tirar o ferrugem em programação em C e dediquei-me a fazer uma pequena experiência.
E ora bem estou aqui com um problema e aposto que tem a ver com alocação de memória.
Ora bem eu tenho aqui uma função que se chama gerar_todas_chaves e um enxerto do código é este:
Código:
chave *todas_chaves;
todas_chaves = (chave *) malloc (116531800 * sizeof(chave));
for (i=0; i<116531800; i++)
{
//Gerar primeira chave, logo não há necessidade a ver se é repetida ou não
if (i==0)
{
todas_chaves[i] = gerar_chave();
todas_chaves[i] = ordenar_chave(todas_chaves[i]);
}
A função gerar_chave e ordenar_chave retorna uma chave, chave esta que é definida por uma estrutura que defini.
O que acontece é que quando executa esta linha (todas_chaves = gerar_chave() o programa crasha. Eu sei que tem a ver com a alocação, mas não consigo descobrir o erro. Já há muito que não programava também xD
Agradeço a vossa ajuda.
Cumprimentos