Gast
#602393
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
|
Anzeige
|
AVR-GCC - defaultwert nicht benutzter buffer im ram
Gast
#602393
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. Dein Bauch trügt nicht! http://www.dclc-faq.de/kap17.htm Antwort schreiben |
Anzeige
|