Hallo! Ich habe eine Problem mit einem Feld und zwar möchte ich dieses im Programm komplett mit 0 initialisieren. Mit der Normalen Verfahrensweise Array[100] = {0}; geht es nicht. Kann mir da jemand helfen?
Evtl. in einer Schleife von 0 bis 99 die einzelnen Elemente initialisieren?
Wenn dein Array nicht am Stack liegt, garantiert(*) der GCC schon dafür dass es mit Nullen initialisiert ist, musst du also nicht per Hand machen. *) ausser du verwendest explizit nicht die default-crt0... /Ernst
Toni wrote: > Hallo! > Ich habe eine Problem mit einem Feld und zwar möchte ich dieses im > Programm komplett mit 0 initialisieren. Mit der Normalen Verfahrensweise > Array[100] = {0}; geht es nicht. > Kann mir da jemand helfen?
1 | for (i=0;i<100;i++) |
2 | {
|
3 | Array[i] = 0; |
4 | }
|
Oder mit memfill(), schneller aber weniger elegant. Severino
Hier noch ein Link in die AVR-libc FAQ zu dem Thema: http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_varinit /Ernst
Hallo, als Ergänzung zum ersten Beitrag von Ernst >Wenn dein Array nicht am Stack liegt, garantiert(*) der GCC schon dafür >dass es mit Nullen initialisiert ist, musst du also nicht per Hand >machen. z.B. static int feld [100] ; Das ist aber bei uC - Programmierung auch Probleme bereiten. Gruß Fritz
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.