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

Dodane 288 bajtów ,  10 lat temu
</source>
 
Traktowanie przez kompilator typu wyliczeniowego jako liczby pozwala na wydajną ich obsługę, ale stwarza niebezpieczeństwa: - można przypisywać pod typ wyliczeniowy liczby, nawet nie mające odpowiednika w wartościach, a kompilator może o tym nawet nie ostrzec:
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">
kierunek = 40;
</source>
Lub przypisać pod typ wyliczeniowy, np. liczby:
<source lang="c">
enum Kierunek { W_GORE, W_DOL, W_LEWO = -1, W_PRAWO };
</source>
Co spowoduje przypisanie tej samej wartości 0 dla W_GORE i W_PRAWO, a to może skutkować błędem np. w przytoczonym powyżej użyciu instrukcji switch.
 
== Struktury ==
Anonimowy użytkownik