Hallo, On Sun, 26 Jan 2003, Bernhard Walle wrote:
On Sun, 26 Jan 2003 at 01:08 (+0100), David Haller wrote:
On Sat, 25 Jan 2003, Bernhard Walle wrote: [struct tm initialisieren] [..]
Ich wuerde stattdessen folgendes machen: [..] memset(&tm, 0, sizeof(tm)); ^^^^^^^^^^ sizeof(struct tm) !
Nicht unbedingt. Er hat ja eine Variable vom Typ struct tm mit dem Namen tm (keinen Pointer!) deklariert. Dann funktioniert auch sizeof(tm).
Sicher? ==== [snip includes] int main(void) { struct tm tm; printf("%u <=> %u\n", sizeof(tm), sizeof(struct tm)); return 0; } ==== $ make strptime_test $ ./strptime_test 44 <=> 44 *Glueck gehabt* Aber ob das portabel ist?
Ich finde es aber ziemlich verwirrend die Variable genaus zu benennen wie den Produkttyp.
Ack. "Better safe than sorry" ;)
Oder gleich dynamisch allokieren:
Ich finde das ein wenig uebertrieben. Schliesslich muss man dann immer daran denken, den Speicher wieder freizugeben. Wozu den Aufwand?
Och, ja, mach ich auch eher ungern, aber ab und an doch praktisch.
Gruß, Bern'der lieber einen Garbage Collector haette :-)'hard
Igitt. *g* -dnh -- 4: Garbage Collection Windows 95 (Kristian Köhntopp)