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