Structs verschachteln
-
Hallo,
wie kann man bei verschachtelten structs, die "innere" struct initialisieren (wenn davon noch keine Variablen deklariert sind) ?
Bsp:
struct zylinder_s { struct punkt_s { double x, y , z; } double oberflaeche, volumen; } z1; /*Nun möchte ich drei Punkte deklarieren und initialisieren*/ z1.punkt_s p1 = {1, 2, 3}; //??
Wie geht das?
-
Mit verschachtelter Initialisierung natürlich
:
struct zylinder_s { struct punkt_s { double x, y , z; } punkt; // Hier muss noch ein Name hin! double oberflaeche, volumen; } z1 = {{1, 2, 3},1.0,1.0};
-
Also muss man alle inneren Variablen schon vorher deklarieren sonst hat man ein Problem? Oder man macht ein Struct-Array, wobei - mit Bezug aufs Beispiel - eine structvariable punkt ausreichend wäre, wenn man sie static deklariert ?
-
stimmt das so?
-
Wenn du das nochmal auf Deutsch formulierst, könnte man dir die Richtigkeit oder Falschheit deiner Aussage bestätigen.
So verstehe ich absolut nicht was du meinst.
-
Hallo Sepp,
ich meinte, wenn man nicht weiß wieviele Punk_s Variablen ich brauchen werden, dann könnte ich mir doch auch ein Array benutzen.
struct Rechteck_s{ struct Punkt_s{ int x, y, z; }static punkt[PMAX]; double volumen, oberflaeche; }rechteck; rechteck = {{1,2,3},1.0,2.0}; //oder rechteck.punkt[i] = {1, 2, 3};
geht das?