C: char -> int

Marek Sembol hwm.land na gmail.com
Středa Květen 12 13:15:47 CEST 2010


ma ucel treba setreni mista. Mam-li vice udaju, ze kterych muze byt v
jednom okamziku platny pouze jeden, tak je zbytecne zabirat misto pro
ty ostatni datova pole.
Marek

2010/5/12 Ondrej <leguanolog na seznam.cz>:
> add 3 - tak jaký má pak ta unie smysl, když změna jednoho prvku může přepsat
> ostatní?
>
> Dne 12.5.2010 12:22, Jan Waclawek napsal(a):
>>
>> Napriek tomu, ze sa to casto robi a aj ja to tak robim, union{ int a; char
>> b[sizeof(a)]} ani union{ int a; struct {char b0, b1, b2, b3;}} na konverziu
>> typov nedoporucujem, lebo:
>>
>> 1. prvky pola ako aj prvky structu mozu byt zarovnane ako kompilator chce,
>> t.j. nemusia lezat v za sebou nasledujucich byte
>> 2. endianita viacbytoveho typu je ako kompilator chce
>> 3. podla normy, po zapise do jedneho prvku unionu maju ostatne prvky
>> nedefinovany obsah (6.2.6.1#7)
>>
>> Aj ked sa obvykle ako problem cituje 2. (ktory sa da obist sadou makier
>> pre rozne endianity) a obcas 1 (na ktore zase ma napr. gcc nestandardny
>> atribut __packed__), podla mna je najzakernejsi problem 3 (ktory je pomerne
>> neznamy, a moze sa prejavit napr. ako nasledok optimalizacie).
>>
>> wek
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>
> --
> Jabber: Iguaner na jabber.cz
> ICQ: 122712466
>
> ---------------------------------------------------
> |                                                 |
> |       IKORAS - My home-made MP3 player          |
> |       http://ikoras.iglu.cz                     |
> |                                                 |
> ---------------------------------------------------
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>


More information about the Hw-list mailing list