Hallo Christian,
Easy: memset(&var, 0, sizeof(var));
Weitere Alternative für den Stack:
foo_t my_foo = { NULL };
nicht nur für den Stack, also für lokale Variablen, sondern auch für initialisierte globale Daten.
typedef struct bar_s {
int a;
int b;
double c;
void *d;
} bar_t;
>
> bzw. auch erlaubt ist (aber wird von verschiedenen Compilern zurecht mit einer Warnung quittiert):
> `bar_t my_bar = { 0 };`{:.language-c}
Ja, ich erinnere mich an irgendwas wie "partially initialized".
> (Wenn man nur { 0 } schreibt heißt es, alle Felder werden mit 0 initialisiert.)
Das ist aber AFAIK nur für Arrays so festgelegt - oder gilt das auch für structs?
Ciao,
Martin
--
F: Was ist schneller: Das Licht oder der Schall?
A: Offensichtlich der Schall. Wenn man den Fernseher einschaltet, kommt immer erst der Ton, und dann erst das Bild.