Forum: Mikrocontroller und Digitale Elektronik AVR C: Elemente von Structs schon initialisiert?


von Michi (Gast)


Lesenswert?

Hallo!

wenn ich eine Struct habe:

struct mystruct {
  int varA;
  int * ptrA;
} test[10];


Sind die Elemente dann beim Start bereits initialisiert?
Sind also alle test[i].varA == 0 und alle test[i].ptrA == NULL?

Oder muss ich (z.B. in einer Init-Fkt) alle vorher explizit setzen?

von Karl H. (kbuchegg)


Lesenswert?

Es gelten die ganz normalen C Regeln.

Alle globalen Variablen werden auf 0 initialisiert.
Alle lokalen Variablen werden nicht initialisiert.

Weder Strukturen noch Arrays bilden da eine Ausnahme.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Du musst die Elemente aber nicht einzeln initialisieren, kannst auch 
einfach memset() auf den ganzen Haufen anwenden.

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
Noch kein Account? Hier anmelden.