Müssen statische Variablen initialisiert werden?
-
C von A bis Z - 11.8 Statische Variablen schrieb:
Achtung: Statische Variablen müssen schon bei ihrer Deklaration initialisiert werden!
das ist doch quatsch - oder? eine statische Variable wird mit ihrem Nullwert (wie immer der auch definiert ist) initialisiert - oder?
mmh... ich geb ja zu das es sinnvoll ist gleich einen Wert zuzuweißen, aber der Compiler darf ohne explizite Zuweisung auch nicht streiken - oder?unter Comeau hab ich folgendes getestet:
#include <stdio.h> void foo(void) { static int counter; printf("%d\n", counter); } int main(void) { foo(); }
übersetzt ohne Fehler
-
Es bringt irgendwie nichts, wenn du am Tag fünf Fehler aus diesem komischen Buch postest
-
Ich erinnere mich daran in einem anderen Thread von dir, dass statische Variablen automatisch auf 0 gesetzt werden, und bei structs die erste Variable. Deshalb sollte dein Code so funktionieren.
-
Bashar schrieb:
Es bringt irgendwie nichts, wenn du am Tag fünf Fehler aus diesem komischen Buch postest
doch - ich schick dem Autor dann immer eine E-Mail, wenn ich etwas verdächtiges finde - daraufhin hat es jetzt schon ein paar Korrekturen in diesem Buch (der online Version) gegeben
-
Ich würde eher vorschlagen, dass du einen Thread zum Buch aufmachst und dort deine Fragen stellst, weil sonst ist schon ein bisschen nervig und merkwürdig 5 Threads zum selben Buch zu finden.
-
ok werd ich machen