Herakles
Profifragensteller
Moin!
Man nehme folgendes struct an:
Das struct soll nun in einer Funktion aufgerufen werden, allerdings static sein:
Soweit kein Problem, aber ich will beim ersten Aufruf die genannte Varibale "uga_aga" initilisieren - und zwar alles auf "0". Bei einer einfachen Integer-Variable ist das kein Problem:
Schon wird die Variable beim ersten Frunktionsaufruf auf "0" gesetzt und anschließend behält sie den Wert des letzten Funktionsdurchlaufes.
Wie aber kann ich ein struct, das auch noch einen größeren Speicherbereich beinhaltet, sauber auf "0" initilisieren? Ein nachgezogenes memset(3) verbietet sich natürlich, weil es bei jedem Funktionsaufruf das komplette struct wieder auf "0" setzen würde.
Wie geht sowas?
Danke für Eure kompetenten Tipps,
Herakles
Man nehme folgendes struct an:
Code:
struct toll {
int a;
int b[500];
int c;
};
Das struct soll nun in einer Funktion aufgerufen werden, allerdings static sein:
Code:
static struct toll uga_aga;
Soweit kein Problem, aber ich will beim ersten Aufruf die genannte Varibale "uga_aga" initilisieren - und zwar alles auf "0". Bei einer einfachen Integer-Variable ist das kein Problem:
Code:
static int i=0;
Schon wird die Variable beim ersten Frunktionsaufruf auf "0" gesetzt und anschließend behält sie den Wert des letzten Funktionsdurchlaufes.
Wie aber kann ich ein struct, das auch noch einen größeren Speicherbereich beinhaltet, sauber auf "0" initilisieren? Ein nachgezogenes memset(3) verbietet sich natürlich, weil es bei jedem Funktionsaufruf das komplette struct wieder auf "0" setzen würde.
Wie geht sowas?
Danke für Eure kompetenten Tipps,
Herakles