C/Typy złożone: Różnice pomiędzy wersjami

Dodane 88 bajtów ,  10 lat temu
Kod mógł wydać się niejasny.
m (-zbędne, mało przejrzyste)
(Kod mógł wydać się niejasny.)
enum Kierunek {W_GORE, W_DOL, W_LEWO, W_PRAWO};
enum Kierunek kierunekruch = W_GORE;
</source>
 
którąGdzie "Kierunek" to typ zmiennej, wcześniej określony, a "ruch" nazwa zmiennej, o takim typie. Zmienną tą można teraz wykorzystać na przykład wykorzystać w instrukcji [[Programowanie:C:Instrukcje sterujące#switch|switch]]
<source lang="c">
switch(kierunekruch)
{
case W_GORE:
Tak naprawdę C przechowuje wartości typu wyliczeniowego jako liczby całkowite (zakres typu signed int), o czym można się łatwo przekonać:
<source lang="c">
kierunekruch = W_DOL;
printf("%i\n", kierunekruch); /* wypisze 1 */
</source>
 
Można przypisywać pod typ wyliczeniowy liczby, nawet nie mające odpowiednika w wartościach, a kompilator może o tym nawet nie ostrzec:
<source lang="c">
kierunekruch = 40;
</source>
Lub przypisać pod typ wyliczeniowy, np. liczby:
5

edycji