Manuel schrieb:
> Hallo,
>
> hab eine ganz grundlegende C-Frage:
Dafür gibt es C-Bücher.
Da stehen noch viele andere Grundlagen drinnen.
> Hab eine Funktion, die öfter
> aufgerufen wird (ca alle 100µs), innerhalb dieser Funktion werden
> variablen definiert.
ja, soll vorkommen.
> Problemstellung: diese Variablen sollen bei jeden Aufruf mit 0
> initialisiert werden ( weil sie innerhalb der Funktion verändert
> werden).
ja, ist ok.
> So wie es oben geschrieben ist, werden die Variablen nun zu Beginn jedes
> Funktionsaufrufes auf Null gesetzt,
genau das hast du programmiert.
> aber wird dabei nicht auch immer
> eine neue Variable erzeugt???
Ja und Nein.
Denn nachdem die Funktion fertig ist, werden die Variablen wieder
zerstört.
> Nach dieser Theorie sollte nach X
> Funktionsaufrufen der Speicher voll sein?!
Nö.
Denn beim Verlassen der Funktion werden diese Variablen ja wieder
zerstört.
> Wenn ich sie als static deklariere, hab ich das Problem, dass sie nie
> wieder zurück auf 0 gesetz wird, oder?
Richtig.
Dann wirst du sie wohl händisch mit einer Zuweisung auf dir genehme
Werte zurücksetzen müssen.
Das folgt aber eigentlich recht klar daraus, wie static Variablen
verwaltet werdenm, bzw. was eine Initialisierung eigentlich ist und was
sie von einer Zuweisung unterscheidet.