calloc i ansi c funktion
Hej EXP'erJeg har et problem med at kalde calloc i en funktion. Mit (del)program er bygget op med en main funktion hvor der skal foregå en del beregninger på et 2D array som kan svinge meget i størelse (fra ca 50x50 til ca 400x400). størelsen afgøres af en sortering mellem to rækker i et mysql resultat og kommer ud i en int variabel, calloc skal initialisere memory til en pointer jeg får af main funktionen. Da jeg gerne ville undgå at kalde de samme data ud fra mysql to gange ville jeg foretrække at det hele sker i en funktion samt det er nødvendigt at jeg har 0 på alle åbne pladser (derfor calloc). Jeg har prøvet at oprette pointeren i selve funktionen men dette giver problemer i retuneringen, mens hvis jeg bruger en pointer oprettet af main så virker calloc ikke på den egentlige pointer. Da vi er meget opmærksomme på både kørselstid og kompleksiteten og at holde begge disse nede, så ville jeg helst undgå at skulle igennem alle punkter i arrayet. de essentielle dele af koden er skrevet nedenfor:
Med venlig hilsen Jonas
/* funktionen defineres */
void map(int *matrix, char *bygning, int etage){
/* high er den int variabel som beskriver størrelsen */
if(matrix = calloc(high*high, sizeof(int))) {printf("Yahoo\n");}
else{printf("pierce of shit");}
}
/* main funktionen med definition af pointer samt kald af funktion */
int main(){
int *kort;
/* &bygning og 0 er ekstra parameter der bruges til at hente de rette værdier fra mysql */
map(kort,&bygning,0);
return 0;
}