Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Veľkosti bežných dátových typov (približné):
| Typ údajov DOS (zvyčajne 16-bit) UNIX (zvyčajne 32-bitové alebo 64-bitové) Poznámky |
| --------------- | ---------------------------- | ------------------------------------- | --------------------------------------------------
| `Char` | 1 bajt | 1 bajt | Zvyčajne podpísané, ale môžu byť nepodpísané. |
| `Unsigned Char` | 1 bajt | 1 bajt | |
| `Short` | 2 bajty 2 bajty (zvyčajne) Často „Short Int“ |
| „Nepísané krátke“ | 2 bajty 2 bajty (zvyčajne) |
| `int` | 2 bajty 4 bajty (na 32-bit), 4 alebo 8 bajtov (na 64-bit) | Veľkosť závisí vo veľkej miere od architektúry. |
| `Nepísané int` | 2 bajty 4 bajty (na 32-bit), 4 alebo 8 bajtov (na 64-bit) | Veľkosť závisí vo veľkej miere od architektúry. |
| `Long '| 4 bajty 4 bajty (na 32-bit), 8 bajtov (na 64-bit) | Veľkosť závisí vo veľkej miere od architektúry. |
| „Nepísané dlhé“ | 4 bajty 4 bajty (na 32-bit), 8 bajtov (na 64-bit) | Veľkosť závisí vo veľkej miere od architektúry. |
| „Dlhá“ Nie je štandard 8 bajtov C99 a neskôr štandard. |
| „Nepísané dlhé dlhé“ | Nie je štandard 8 bajtov C99 a neskôr štandard. |
| `float` | 4 bajty 4 bajty Jednotná presnosť plávajúceho bodu. |
| `Double` | 4 bajty alebo 8 bajtov 8 bajtov Ploring-bod s dvojitou presnosťou. |
| `dlhá dvojitá` | 8 bajtov (často) 8 bajtov alebo 16 bajtov Predĺžená presnosť s pohyblivým bodom (veľkosť sa mení). |
| `ukazovateľ" | 2 bajty 4 bajty (32-bit), 8 bajtov (64-bit) | Veľkosť závisí od architektúry. |
Dôležité úvahy:
* DOS Variácie: Veľkosti „DOS“ sú zovšeobecnenia. Rôzne kompilátory DOS a dokonca aj rôzne pamäťové modely (napríklad malé, stredné, kompaktné, veľké, obrovské) by mohli ovplyvniť veľkosť typov údajov. DOS bol do značnej miery 16-bitový operačný systém, čo malo za následok menšie veľkosti.
* variácie unix/posix: Zatiaľ čo systémy podobné UNIX majú tendenciu byť konzistentnejšie, veľkosti `int` a` dlhé "sa môžu líšiť v závislosti od architektúry systému (32-bit vs. 64-bit). Štandardné mandáty * minimálne * veľkosti, nie presné veľkosti. Použitie `stdint.h` (c99 a neskôr) poskytuje celé typy s pevnou šírkou (` int32_t`, `int64_t` atď.) Pre lepšiu prenosnosť.
* Vplyv kompilátora: Kompilátor, ktorý používate (GCC, Clang, Visual C ++), môže mať jemné vplyvy na veľkosti typov dát. Vždy skontrolujte dokumentáciu svojho kompilátora alebo použite `sizeof ()` na určenie presnej veľkosti vo vašom konkrétnom systéme a kompilátore.
* `sizeof ()` operátor: Ak chcete získať presnú veľkosť typu dát v bajtoch na * vašom * systéme, použite operátor `sizeof ()` v C/C ++. Napríklad:`Sizeof (int)`, `veľkosť (dlhá dlhá)` atď. Toto je najspoľahlivejšia metóda.
Stručne povedané, zatiaľ čo tabuľka ponúka spoločné veľkosti, skutočné veľkosti sú závislé od kompilátora a platformy. Vždy overte používanie `sizeof ()` pre presné informácie špecifické pre platformu.