hey, ist der inhalt eines buffers "char buffer[5]" vom compiler (avr-gcc, winavr) jeweils definiert mit 0 aufgefüllt oder kann dort irgendein wert des ram's stehen ??? wer weis es genau ??? thx Neubi
Das kommt drauf an, wo diese Variable steht. Globale Variablen werden, sofern es keine explizite Initialisierung gibt, mit 0 initialisiert. Alle anderen Variablen hingegen (also: welche in Funktionen) haben undefinierte Werte. Bei funktionslokalen static Variablen bin ich mir jetzt nicht sicher, wie da die Vorschrift lautet. Aus dem Bauch heraus würde ich mal sagen: wie globale Variablen. Kann aber auch daneben liegen.
Karl heinz Buchegger wrote: > Bei funktionslokalen static Variablen bin ich mir jetzt > nicht sicher, wie da die Vorschrift lautet. Aus dem Bauch > heraus würde ich mal sagen: wie globale Variablen. Ja. Referenz: ISO/IEC 9899:1999 (E), 6.7.8 Initialization 10 ... If an object that has static storage duration is not initialized explicitly, then: -- if it has pointer type, it is initialized to a null pointer; -- if it has arithmetic type, it is initialized to (positive or unsigned) zero; -- if it is an aggregate, every member is initialized (recursively) according to these rules; -- if it is a union, the first named member is initialized (recursively) according to these rules.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.