 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
M.Schneider Guest
|
Posted: Wed Jun 09, 2004 1:28 pm Post subject: Zugriff auf element in verschachtelter Struktur??? |
|
|
Bin Anfänger und deshalb nich gleich schimpfen...;<)
babe folgendes Gerüst
..
struct sAuto
{
char typ[100];
unsigned short alter;
struct farbe {char innen[100], aussen[100]};
};
..
..
sAuto a1; //Variable vom Typ sAuto Deklarieren
a1.alter=10; //Feld alter initialisieren
strcpy(a1.typ,"BMW"); //Feld Typ initialisieren
a1.farbe //HIER PROBLEM? WIE KOMM ICH AN
farbe "innen" "aussen" ran?
Vielen Dank an alle...
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Torsten Schneider Guest
|
Posted: Wed Jun 09, 2004 1:40 pm Post subject: Re: Zugriff auf element in verschachtelter Struktur??? |
|
|
M.Schneider <User969 (AT) gmx (DOT) de> wrote:
| Quote: | struct sAuto
{
char typ[100];
unsigned short alter;
struct farbe {char innen[100], aussen[100]};
}; [...]
a1.farbe //HIER PROBLEM? WIE KOMM ICH AN
farbe "innen" "aussen" ran?
|
Das kann man beliebig schachteln:
a1.farbe.innen und a1.farbe.aussen
Übrigens macht es evtl. Sinn, wenn du std::string statt der char-Arrays
benutzt, das macht die Sache meistens einfacher und übersichtlicher.
Grüße, Torsten
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Falk Tannhäuser Guest
|
Posted: Wed Jun 09, 2004 1:53 pm Post subject: Re: Zugriff auf element in verschachtelter Struktur??? |
|
|
"M.Schneider" wrote:
| Quote: |
Bin Anfänger und deshalb nich gleich schimpfen...;<)
babe folgendes Gerüst
.
struct sAuto
{
char typ[100];
unsigned short alter;
struct farbe {char innen[100], aussen[100]};
|
Hier deklarierst du erstmal bloß eine Struktur, aber noch kein Datenfeld
dieses Typs. (Außerdem fehlt ein Semikolon.) Daher:
struct sFarbe { char innen[100]; char aussen[100]; };
sFarbe farbe;
Man versuche, in der Namensgebung etwas Konsistenz einzuhalten (z.B.
sAuto, sFarbe für Strukturen, alles Kleinbuchstaben für Datenfelder...)
| Quote: | };
.
.
sAuto a1; //Variable vom Typ sAuto Deklarieren
a1.alter=10; //Feld alter initialisieren
strcpy(a1.typ,"BMW"); //Feld Typ initialisieren
a1.farbe //HIER PROBLEM? WIE KOMM ICH AN
farbe "innen" "aussen" ran?
std::strcpy(a1.farbe.aussen, "caca d'oie"); |
Im übrigen würde ich std::string anstelle der char-Arrays bevorzugen -
doch das ist eine andere Frage...
MfG
Falk
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Karl Jenz Guest
|
Posted: Wed Jun 09, 2004 2:05 pm Post subject: Re: Zugriff auf element in verschachtelter Struktur??? |
|
|
M.Schneider schrieb:
| Quote: | Bin Anfänger und deshalb nich gleich schimpfen...;<)
|
Hallo,
bitte ganzen Namen angeben, ist in den meisten Gruppen so üblich :-)
| Quote: | babe folgendes Gerüst
.
struct sAuto
{
char typ[100];
unsigned short alter;
struct farbe {char innen[100], aussen[100]};
};
.
|
Das Problem erscheint mir, dass *farbe* nur eine Typdefinition
ist. Besser solltest du *farbe* außerhalb der struct sAuto
definieren. Zum Beispiel
typedef char SpeicherString[100] ;
struct sfarbe
{ SpeicherString innen, aussen } ;
Und weiter
struct sAuto
{ SpeicherString type ;
unsigned short alter ;
sfarbe farbe } ;
Programmpraxis
sAuto MeinAuto ;
strcpy (MeinAuto.farbe.innen, "Rot" ) ;
Probier das mal aus, bin auch kein alter Hase.
Dürfte aber so hinhauen.
--
Mfg Karl Jenz
http://karl.jenz.bei.t-online.de
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Torsten Schneider Guest
|
Posted: Wed Jun 09, 2004 5:02 pm Post subject: Re: Zugriff auf element in verschachtelter Struktur??? |
|
|
Torsten Schneider <schneider (AT) mabi (DOT) de> wrote:
| Quote: | struct farbe {char innen[100], aussen[100]};
}; [...]
Das kann man beliebig schachteln:
a1.farbe.innen und a1.farbe.aussen
|
Args - die Hitze hat mich da wohl etwas verwirrt, so geht es natürlich
nicht. Man muss oben schreiben:
struct { .... } farbe;
Grüße, Torsten
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|