Rychla otazka na C enum

Josef Štengl ok1ced na nagano.cz
Čtvrtek Leden 26 12:17:48 CET 2017


Možná si jen dát pozor jen na to, že do položky enumu nenacpete větší číslo než int. Pro položky větší než 65535 to může 
být problém na některých architekturách.
A že podle EABI (ne podle normy, tam je definováno int) se typ enumu odvozuje od nejmenší ho možného typu, do kterého se 
vejdou všechny jeho položky a přednost mají unsigned typy. Můžete si užít dost zábavy, když si přidáte do seznamu -1 a on 
se vám změní typ z unsigned na signed.
Tím nepopírám nic co bylo již napsáno :-)

Dne 26.1.2017 v 11:36 Jan Waclawek napsal(a):
> Jano prisiel s tym ze s Tebou suhlasi.
>
> wek
>
> ----- Original Message ---------------
>> Podle http://crasseux.com/books/ctutorial/enum.html to jde. Selským
>> rozumem by to jít mělo, kdyľ jsou to vlastně jen pojmenované inty.
>> Budete-li číslovat 0-N, tak mi to připadne bezpečné.
>> Uvidíme, s čím přijde Jano :-)
>> L.
>>
>> Dne 26.1.2017 v 1:48 Stano napsal(a):
>>> Majme priklad:
>>>
>>> typedef enum {
>>> STATE0 = 0,
>>> STATE1,
>>> STATE2,
>>> } state_t;
>>>
>>> state_t state;
>>>
>>> // state nadobudne nejaku hodnotu
>>> if(state>= STATE1){}
>>>
>>> je to korektne porovnanie? Nedari sa mi najst ci toto norma C pripusta.
>>> Nenasiel som rozpor ale nieco mi hovori ze si mam dat BACHA
>>>
>>> Dakujem za odpovede
>>>    Stano
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>


Další informace o konferenci Hw-list