000
04.11.2004, 18:30 Uhr
Lensflare
|
Hallo.
hab ein paar zeilen code in einem buch gefunden, mit denen ich nicht klar komme.
vereinfacht geschrieben sah es so aus:
C++: |
int funktion() { int a; a = 5; return a; }
while(1) { funktion(); }
|
Nun bereitet mir die tatsache sorgen, dass "funktion()" in einer schleife aufgerufen wird. in dieser funktion wird ja ne lokale variable erzeugt. Weil sie lokal ist, ist sie dem rest des codes ja unbekannt. Heisst das sie wird jedesmal gelöscht und dann wieder neu erzeugt? Ich denke, dass der compiler erstmal den code nach allen variablen durchsucht und speicherplatz für sie anlegt. Lieg ich da richtig?
Das würde heissen, dass der speicherplatz der variable nicht nach dem verlassen der funktion freigegeben wird, oder?
Aber was passiert nun , wenn das programm mehrmals auf "int a;" trifft? So wie im beispielcode. -- Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten. (Emerson Pugh Trost) Dieser Post wurde am 04.11.2004 um 18:33 Uhr von Lensflare editiert. |