Hallo!
Gibt es einen Unterschied zwischen z.B.
typedef struct {int a,b,c,d;} s;
und
struct s{int a,b,c,d;}
?
Wird vielleicht typedef x von Präprozessor ausgeführt, während x auch im Kompilat Code erzeugt?
Danke, Hans
Hallo!
Gibt es einen Unterschied zwischen z.B.
typedef struct {int a,b,c,d;} s;
und
struct s{int a,b,c,d;}
?
Wird vielleicht typedef x von Präprozessor ausgeführt, während x auch im Kompilat Code erzeugt?
Danke, Hans
Hallo!
Gibt es einen Unterschied zwischen z.B.
typedef struct {int a,b,c,d;} s;
und
struct s{int a,b,c,d;}
?
Wird vielleicht typedef x von Präprozessor ausgeführt, während
x auch im Kompilat Code erzeugt?
Nein, denn beide sind Typdeklarationen:
C C++
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
typedef struct {int a,b,c;} s1; OK OK
struct s2 {int a,b,c;} ; OK
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
Grüße
CMБ
C C++
______________________________________________________________
typedef struct {int a,b,c;} s1; OK OKstruct s2 {int a,b,c;} ;
OK
______________________________________________________________Grüße
CMБ
Sorry,
aber das stimmt so nicht ganz.
Du kannst auch in C beide Varianten benutzen.
Der Unterschied entsteht darin, wie du hinterher die strukturen benutzen kannst.
Wenn du kein typdef benutzt, musst du beim deklarieren einer Variablen immer schreiben:
struct s2 varName1;
mit typedef kannst du so tun als wenn du einen 'normalen Variablentyp hast und schreibst nur noch:
s2 varName1;
und das ist natürlich weniger zu schreiben…
Gruß SabSt
Hallo
C C++
______________________________________________________________
typedef struct {int a,b,c;} s1; OK OKstruct s2 {int a,b,c;} ;
OK
______________________________________________________________aber das stimmt so nicht ganz.
Du kannst auch in C beide Varianten benutzen.
Der Unterschied entsteht darin, wie du hinterher die
strukturen benutzen kannst.
Wenn du kein typdef benutzt, musst du beim deklarieren einer
Variablen immer schreiben:
struct s2 varName1;
mit typedef kannst du so tun als wenn du einen 'normalen
Variablentyp hast und schreibst nur noch:
s2 varName1;
und das ist natürlich weniger zu schreiben…
Das ist ja alles schön und gut, nur war das ja nicht
vom OP gefragt worden.
Und da Du ja so weit ausholst, dürftest Du eine
weitere Möglichkeit auch nicht vergessen:
...
typedef struct s2 {int a,b,c,d;} s1;
s1 A; //
Grüße
CMБ