Unterschied zwischen struct und typedef struct?
-
und wo liegt hier der unterschied:
typedef struct SECTOR
struct SECTOR
[ Dieser Beitrag wurde am 06.06.2003 um 15:14 Uhr von THE_FreaK editiert. ]
-
ohne typedef u must vor variablien dekla....rung struct setzen
-
frueher war struct kein "echter" datentyp, also hat man sowas geschrieben
typedef struct {
int test;
} mein_datentyp;sprich "definiere struktur als datentyp mein_datentyp".
in neuerem c/c++ definiert struct wie auch z.b. union einen datentyp, ohne dass man da noch typedefs fuer braeuchte:
struct mein_datentyp {
int test;
};
-
Original erstellt von <cy>:
**in neuerem c/c++ definiert struct wie auch z.b. union einen datentyp, ohne dass man da noch typedefs fuer braeuchte:struct mein_datentyp {
int test;
};**Wenn Du damit meinst, dass man die Struktur jetzt mit mein_datentyp ansprechen kann, ist dies, zumindest für C, schlichtweg falsch:
**Thus, there are separate name spaces for various categories of identifiers, as follows:
[...]
the tags of structures, unions, and enumerations (disambiguated by following any of the keywords struct, union, or enum);**
(C99, 6.2.3)
[ Dieser Beitrag wurde am 06.06.2003 um 18:21 Uhr von SG1 editiert. ]
-
ich hab mal gehört:
also das typedef wird benutzt, wenn man
verschiedene compiler benutzt um einfach
der struktur einen namen zu geben
bzw als variable zu deklarieren...
-
Original erstellt von bravo:
ich hab mal gehört:
also das typedef wird benutzt, wenn man
verschiedene compiler benutzt um einfach
der struktur einen namen zu geben
bzw als variable zu deklarieren...???
struct foo {};
ich habe einen Typen deklariert: struct foostruct foo {} var;
ich habe zusaetzlich zu dem Typen struct foo noch eine variable vom Typ struct foo definiert: vartypedef struct foo {} footype;
ich habe zusaetzlich zu dem Typen struct foo noch ein typedef footype auf struct foo 'gelegt'.
-
Aha, also ist das
typedef struct{} SECTOR struct SECTOR{}
quasi das selbe, nur das erste is die alte variante.
gut zu wissen, thx!
-
Original erstellt von THE_FreaK:
**Aha, also ist dastypedef struct{} SECTOR struct SECTOR{}
quasi das selbe, nur das erste is die alte variante.
gut zu wissen, thx! :)**nix alt und neu
beides ist legaler C code nur bei 1) wird der typ SECTOR definiert und bei 2) der Typ struct SECTOR
-
ich glaube, nicht böse gemeint, du solltest dich erst einmal mit dem thema structs befassen. hast du dies getan wirst du sofort den sinn und zweck bzw. die vorteile ( oder auch nachteile ? ) bemerken.
schön tag noch, murdi.
ps.: der beitrag ist keineswegs böse gemeint, ich glaube aber, dass der fragestellter noch nicht das handling mit structs verstanden hat.
-
Also am Verstandenhaben der Strukturen sollte es nicht liegen. Wie schon gesagt war mir nur die Variante mit dem Typedef einfach neu. Ansonsten danke für die Antworten