Vad är skillnaden mellan int och kort int i C?

A

A.Anand Srinivasan

Guest
Jag syftade några C-böcker och fann att int och kort int har samma utbud ... vad är användningen av två med samma intervall men olika namn ........
 
Ibland har de inte samma räckvidd. I vissa inbäddade applikationer en int är 32b och en kort i är 16b ett ord är också 16b men inte behandlas på samma sätt som en int av kompilatorn. Swingbyte
 
Jag tror den enda standarden ANSI C medför är att en kort kan vara lika eller mindre i storlek än en int, men aldrig mer. Jag har alltid blandas ihop på kompilatorer för olika kompilatorer för olika storlek micros som towhat storlekarna är och sluta titta upp det i kompilator dokumentationen. Jag har en PIC kompilator där en int är 8 bitar, i Windows en int är 32 bitar och jag beleive kort är 16 bitar, men jag kan inte minnas ..
 
Enligt C Standard Max kort storlek är 2 byte. Int kan vara mer än så. Endast i maskin där int är 2 byte, både kort-och ANT är desamma. Andra kloka de r olika.
 
booklog säger ISO C standard * minst * utbud av kort är -32.767 till 32.767. Det kan ha större räckvidd. Standarden säger att korta måste vara en delområde av int. De kan båda vara 32-bitars, till exempel. Var försiktig med termen "byte" i C. Det betyder oftast 8 bitar, men det kan vara större.
 
På en 16-bitars processor, int och korta int är båda 2 byte, medan på en 32-bitars processor, INT = 4 byte och kort int = 2 byte
 

Welcome to EDABoard.com

Sponsor

Back
Top