Ik ben bezig met een proggie die een aantal dingen uit een bestand moet halen en in z'n geheugen moet laden. Het nadeel is dat het bestand ontzettend variabel kan zijn. Daardoor moet ik gebruik maken van dynamically allocated memory. Maar hoe moet ik in een subfunctie waarbij ik malloc-pointer gebruik een return-code laten geven en tegelijkertijd de geheugen vrij maken.
voorbeeldje (heeeel simpel voorbeeldje):
Is er een manier om zowel de free functie te gebruiken en om gegevens uit de pointer te returnen?
Sorry als het al eens naar voren gekomen is, maar ik wist niet hoe ik dit op moest zoeken.
voorbeeldje (heeeel simpel voorbeeldje):
code:
1
2
3
4
5
6
7
8
9
| char *voorbeeldje( char *testje ) {
char *dynamic_mem;
dynamic_mem = malloc( (strlen(testje)+1) * sizeof(char));
//... heel hoop handelingen ... ... ... ... ...
free( dynamic_mem ); //Hier wil ik dus zowel de pointer clearen als de data returnen
return dynamic_mem;
} |
Is er een manier om zowel de free functie te gebruiken en om gegevens uit de pointer te returnen?
Sorry als het al eens naar voren gekomen is, maar ik wist niet hoe ik dit op moest zoeken.
[ Voor 1% gewijzigd door cobratbq op 20-12-2002 22:25 . Reden: Kromme zin wegwerken ]
One ring to rule them all, one ring to find them, one ring to bring them all, and in darkness bind them...