Struct initialisieren



  • Hallo zusammen
    ich versuche einen Struct auf einen möglichst einfachen Weg zu initialisieren. Im h-file habe ich folgenden Typ definiert:

    typedef struct {
    	int				m_myInt;
    	int				m_myIntArray[8];
    	double			m_myDouble;
    	SNDFILE			m_mySndfile;			
    }MyStructDef;
    

    Im c-file instanziere ich global nun den Struct:

    MyStructDef MyStruct
    

    Wie kann ich m_myDouble direkt bei der Instanzierung definieren (mittels {}), ohne die Felder des Arrays zu benennen?
    Hat jemand eine Idee?

    Romer



  • C89: "foo = { 12, { 0 }, 234.567, ... }" oder Reihenfolge verändern und "foo = { 12, 234.543 };" schreiben, der Rest sollte mit Null initialisiert werden, aber viele Compiler werden wohl trotzdem warnen.

    C99: "foo = { .m_myDouble = 34.34 };"

    Übrigens wirkt eine Benamsung mit "m_my" in C arg überdimensioniert.


Anmelden zum Antworten