Der Martin: / C: Pointer "überprüfen.."

Beitrag lesen

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.