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.