typedef struct
Frage zu folgenden Code...
Hallo, in den unten stehenden Code-Zeilen sind zwei typdef Anweisungen ausgeführt worden,
beide beinhalten struct als Typ. Wird durch (XXX) vom zweiten auf das erste typedef zugeriffen?
typedef struct Name 1
{
long (*Variable1)(const char*, long);
.....
.....
.....
} XXX;
typedef struct Name2
{
long (*Variable2)(XXX);
.....
.....
.....
} YYY;
MfG
rofl236
Hallo, in den unten stehenden Code-Zeilen sind zwei typdef Anweisungen ausgeführt worden,
beide beinhalten struct als Typ. Wird durch (XXX) vom zweiten auf das erste typedef zugeriffen?
typedef struct Name 1
{
long (*Variable1)(const char*, long);
.....
.....
.....
} XXX;
typedef struct Name2
{
long (*Variable2)(XXX);
.....
.....
.....
} YYY;
MfG
rofl236
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 71336
Url: https://administrator.de/forum/typedef-struct-71336.html
Ausgedruckt am: 08.04.2025 um 09:04 Uhr
1 Kommentar
@rofl236
Hi,
Es wird nicht darauf zugegriffen, sondern du benutzt im zweiten
typedef einen Datentyp vom ersten typedef, allerdings mußt du die
C-Syntax Datentyp variable zur Deklaration beibehalten.
Im Programm würde dann eine Variable so deklariert:
YYY z;
z ist dann eine Variable vom Typ YYY, der ein (oder mehrere) Member
von Typ XXX enthält.
z.vari1.d=123456789;
z.vari1.c='A';
z.vari2.d=98765;
z.vari2.c='Z';
Einfacher ist es, die Eigenschaften wie bei Klassen zu vererben:
Gruß
Günni
Hi,
Wird durch (XXX) vom zweiten auf das erste typedef zugeriffen?
Es wird nicht darauf zugegriffen, sondern du benutzt im zweiten
typedef einen Datentyp vom ersten typedef, allerdings mußt du die
C-Syntax Datentyp variable zur Deklaration beibehalten.
typedef struct Name1{
long d;
char c;
} XXX;
typedef struct Name2{
//Member vom Typ XXX
XXX vari1;
XXX vari2;
} YYY;
Im Programm würde dann eine Variable so deklariert:
YYY z;
z ist dann eine Variable vom Typ YYY, der ein (oder mehrere) Member
von Typ XXX enthält.
z.vari1.d=123456789;
z.vari1.c='A';
z.vari2.d=98765;
z.vari2.c='Z';
Einfacher ist es, die Eigenschaften wie bei Klassen zu vererben:
typedef struct Adresse{
char vorname[16];
char nachname[16];
// usw;
} Adresse;
typedef struct BV{
char Bank[32];
long Konto;
long BLZ;
// usw.
}Bankverbindung;
//Eine Struktur vom Typ Person die alle Member von Adresse
//und Bankverbindung enthält
typedef struct Person:public Adresse,Bankverbindung{
//weitere Variablen möglich
}Person;
//Eine Array-Variable vom Typ Person die alle Member von Adresse und
//Bankverbindung enthält
Person person[100];
strcpy(person.nachname,"Schmitz");
person.Konto=12345;
usw.
Gruß
Günni