Gast
#3363761
Hallo,
kann einer das versuchen zu erklären:
extern enum T_STATE { INIT, STANDBY, RUN, PROG, WERKSEINSTELLUNG, CHARGE
} e_State;
|
Anzeige
|
C Verständnisfrage
Gast
#3363761
Hallo,
kann einer das versuchen zu erklären:
extern enum T_STATE { INIT, STANDBY, RUN, PROG, WERKSEINSTELLUNG, CHARGE
} e_State;
Gast
#3363765
http://home.fhtw-berlin.de/~junghans/cref/SYNTAX/enum.html Fortgeschrittene Programmierer können auch G**gle benutzen...
Gast
#3363769
definiert ein enum und darin offensichtlich die Zustände einer Statemachine: INIT = 0 STANDBY = 1 RUN = 2 PROG = 3 WERKSEINSTELLUNG = 4 CHARGE = 5 ist äquivalent zu #define INIT 0 #define STANDBY 1 ... enum ist aber die saubere Version, weil sich so die Werte praktisch selbst verwalten. Eineindeutig müssen die Namen dennoch sein, wenn du also irgenwo anders noch z.B. ein "#define RUN 5" im Code stehen hast, knallt's. BTW: besorg dir ein c-Buch, da wird das alles erklärt...
Gast
#3363776
Thosch schrieb: > definiert ein enum > und darin offensichtlich die Zustände einer Statemachine: > INIT = 0 > STANDBY = 1 > RUN = 2 > PROG = 3 > WERKSEINSTELLUNG = 4 > CHARGE = 5 > > ist äquivalent zu > #define INIT 0 > #define STANDBY 1 Verstanden! Vielen Dank! und wieso extern das muss doch nicht sein oder? Sollen wir dir jetzt auch noch das Schlüsselwort "extern" googeln oder machst du das diesmal selber? neu schrieb: > Verstanden! Vielen Dank! und wieso extern das muss doch nicht sein oder? Beitrag "Re: Den Befehl extern"
Gast
#3364050
Wieso extern? Weil nicht nur ein enum definiert wird, sondern auch gleich eine Variable e_state bekannt gemacht wird, die aber nicht in dieser "Übersetzungseinheit", sondern in einer anderen deklariert ist.
Gast
#3364091
Bastler schrieb: > Wieso extern? > Weil nicht nur ein enum definiert wird, sondern auch gleich eine > Variable e_state bekannt gemacht wird, die aber nicht in dieser > "Übersetzungseinheit", sondern in einer anderen deklariert ist. Wobei es ungeschickt ist, die Inhalt des enums anzuführen. Ein extern enum T_STATE e_State; hätte gereicht. Ändert sich die Definition des enums, musst du zwei Stellen ändern. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|