Initialisierung von Strukturen



  • Hallo!

    Ich benutze VS .Net 2004 und habe folgendes Problem:

    Ich habe eine Struktur mit mehreren DWORD's deklariert.
    Wenn ich dann eine Variable vom Typ der Struktur definiere, sind die DWORD's nicht automatisch mit dem Wert Null initialisiert!

    Ich dachte die Elemente einer Struktur werden immer per Definition mit dem Wert Null initialisiert?

    Danke für Hilfe!



  • Faustkeil schrieb:

    Ich dachte die Elemente einer Struktur werden immer per Definition mit dem Wert Null initialisiert?

    Nein. Wo Instanzen wie initialisiert werden, hängt von verschiedenen Faktoren ab. Ausführlichere Infos dazu findet man im Standard.



  • Hmm...

    Im Buch "C/C++ Kompendium" von Dirk Louis steht über Strukturen: "Elemente, für die keine Werte in der Initialisiertungsliste vorgesehen sind, werden mit ihrem Nullwert initialisiert."



  • Das Buch ist ein sehr gutes Buch, das hab ich auch. Sehr lehreich.

    Allerdings hast du da etwas falsch verstanden.
    Gemeint ist: Wenn du Strukturen teilinitalisierst, also etwa:

    struct MYSTRUCT
    {
     int feld[15];
    };
    ...
    MYSTRUCT st = {1};
    

    Wird das erste int auf 1, der Rest auf null gesetzt.


Anmelden zum Antworten