Hallo!
Wenn ich eine funktion1 habe, welche mir einen zeiger zurückgibt.. (welcher in der funktion1 dynamisch erzeugt wurde...) und ich nun diese funktion in einer funktion2 aufrufe, welche diesen zurückgibt, muss ich dann den zeiger speicherplatz der funktion1 freigeben? oder bin ich total am falschen weg? malloc erstellt doch eine variable, die über die funktion, hinaus lebt. wenn ich nun einen zeiger deklariere, über malloc, wird doch sowohl für das objekt auf das gezeigt wird, speicher reserviert, als auch dem zeiger selbst, welcher auf dieses objekt zeigt.
funktion 1;
int * funktion1(){
int * rückgabewert1;
rückgabewert1 = malloc(sizeof(int);
int = blablabla;
return int;
}
int * funktion2(){
int * rückgabewert2;
rückgabewert2 = malloc(sizeof(int);
rückgabewert2 = (int*) funktion1();
return funktion2;
}
frage: was ist mit dem zeiger der funktion1? der lebt doch noch, aber zugreifen könnte man nicht mehr..oder?