Typ wyliczeniowy jest zmienną typu int, która może przyjmować tylko konkretne wartości. Tutaj podobnie jak w strukturze trzeba najpierw taki typ zdefiniować.

...
enum definicja_typu {wartosc1=
1
,wartosc2=
2
,wartosc3=
3
};
...

Stworzyliśmy typ int, który może przyjmować tylko 3 wartości, są nimi 1, 2 lub 3, innych nie może. Mamy już definicję tego typu, stwórzmy teraz zmienną:

...
definicja_typu zmienna_enum1=wartosc1;
//tutaj wartość będzie wynosić 1

...

Teraz dopiero utworzyliśmy sobie zmienną w pamięci, która jest typu definicja_typu, więc widzisz chyba, że to tak jakbyśmy tworzyli nowy typ zmiennej, która może przyjmować tylko wyznaczone wartości.

...
zmienna_enum1=
4
;
//źle!

...

Taki zapis jest błędny, gdyż zmienna może przyjmować tylko określone wartości, a 4 do nich nie należy. Trzeba pamiętać, że gdy tworzymy zmienną enum należy ją od razu zainicjować, bo bez inicjacji może ona przyjąć dowolną wartość, z poza zakresu, a kompilator nie sprawdza wtedy, czy bez inicjacji zmienna mieści się w zakresie.

NUMEROWANIE WARTOŚCI W DEFINICJI

...
enum definicja {war1,war2,war3,war4};
...

Jeżeli na początku nie przypiszemy wartości nazwie war1, to domyślnie numerowanie nazw zaczyna się od 0 i rośnie o 1 w górę, co każdą kolejną nazwę wartości, dla przykładu war1 będzie wynosić 0, war2 będzie wynosić 1, itd.

war1=0
war2=1
war3=2
war4=3

Możemy zmienić numerowanie:

...
enum definicja {war1=
10
,war2,war3,war4};
...

W tej sytuacji, numerację rozpoczniemy od 10, a kolejne będą domyślnie o 1 większe.

war1=10
war2=11
war3=12
war4=13

...
enum definicja {war1=
10
,war2,war3=
20
,war4};
...

W tej sytuacji pierwsza będzie wynosić 10, druga jest nie zdefiniowana, więc domyślnie o 1 większa, czyli 11, trzecia będzie wynosiła 20, a czwarta o 1 większa, czyli 21.

war1=10
war2=11
war3=20
war4=21

Myślę, że widzisz zasadę numerowania.

Dla przykładu praktycznego zastosowania, możemy sobie zrobić typ, który będzie przyjmował, określone dni tygodnia.

...
enum tydzien {pon=
1
,wto,sro,czw,pia,sob,nie};
tydzien dzisiaj=nie;
//czyli przypisujemy liczbę 7(niedzielę)

...

Robimy typ, który może przyjmować dni tygodnia, czyli numery od 1 do7. Tworzymy sobie zmienną tego typu i przypisujemy jej wartość niedzieli(7).

Wejść na stronę:     Ilość osób online:
Prawa autorskie © 2008 crayze. Wszelkie prawa zastrzeżone.
crayze7@gmail.com