pointery C

Jan Waclawek konfera na efton.sk
Středa Květen 22 11:06:38 CEST 2013


>proto¾e int smí mít jen 16, nebo 32 bitù.

Nie. Int musi mat 16 a viac bitov, ale to je vsetko. Pokojne aj 17. Pomerne
bezna dlzka slova v case vzniku C bola 36 bitov, v K&R je to explicitne
spomenute.


>Ale v ní¾euvedeném pokusu mì hlavnì ponìkud zaskoèilo, ¾e long má 8 B.
>
>Jsem v ka¾dém pøípadì zvìdav na pøípadné podrobnìj¹í vysvìtlení. Na¹el jsem 
>k tomu jen výsledek, bez podrobností:
>Mù¾ete se spolehnout je na to, ¾e velikost char = 8 bitù (= 1 byte) a ¾e:
>sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long).

Viacmenej tak (velkost char nemusi byt = 8 bitov, ale >=; pricom to stale
je = 1 byte - vid C99 3.6 note 2), a je to znova uz v tom K&R. Doporucujem
si precitat; aj ked viaceri povedia, ze je to prekonane, v skutocnosti je
(2. vydanie, ale 1. pokial viem do cestiny ani slovenciny prelozene
nebolo) takmer dokonalou podmnozinou dnesnej normy, cize sa jeho citanim
nic nemoze pokazit. Je to rozhodne zazivnejsie citanie ako norma (aj ked
pripustam ze postavy su nacrtnute velmi plocho a dej je uplne o nicom...
;-) )

V norme je to vsetko definovane zlozitejsie, vid C99 5.2.4.2.1 (plus 6.2.5
#2-#6); ale podstata je ta ista.

wek




Další informace o konferenci Hw-list