30. lecke

Számos oka van annak, hogy miért hasznos tudni, hogy mennyi memóriát vesz fel egy változó.

Először is minél többet vesz igénybe, annál több információt képes tárolni. Mivel minden bit tartalmaz 0 vagy 1 értéket, akkor a bitnek 2 lehetséges értéke lehet.

A 2 bitnek 4 lehetséges értéke lehet:

Valójában egy n-edik bitszámú változónak lehet 2 n (2 az n, írható 2 ^ n erővel) lehetséges értékei. Mivel egy byte 8 bitből áll, 2 8 (256) lehetséges értéket tartalmazhat.

A változó mérete korlátozza a tárolt információk mennyiségét - több bájtot használó változók tárolhatnak szélesebb értéktartományt.

Másodszor, a számítógépek korlátozott mennyiségű szabad memóriával rendelkeznek. Minden alkalommal, amikor egy változót deklarálunk, ennek a szabad memórianek egy kis részét kiosztjuk mindaddig, amíg a változó létezik. Mivel a modern számítógépek sok memóriával rendelkeznek, a legtöbb esetben ez nem jelent problémát, különösen akkor, ha csak néhány változó van a programban. Az olyan programok esetében azonban, amelyek nagyszámú változót igényelnek (például 100 000), az 1 bájtos vagy 8 bájtos változók használata közötti különbség jelentős lehet.

A fő adattípusok mérete C ++-ban

A nyilvánvaló kérdés: "Mennyi memória a különböző típusú változók elfoglalni?". Lehet, hogy meglepte, de bizonyos típusú adatok mérete a számítógép fordítójától és / vagy architektúrájától függ.

A C ++ csak a minimális méretüket garantálja:

Aláírható vagy aláírhatatlan

A változók tényleges mérete eltérő lehet különböző számítógépeken. Egy adattípus méretének meghatározása egy adott gépen, C ++ esetén, egy sizeof operátor van. sizeof unary operátor, amely kiszámolja és visszaadja a méretet egy változó vagy adattípus bájtjaiból. A következő programot fordíthatja és futtathatja, hogy megtudja, hány különböző típusú adatot tárol a számítógépen:

std. cout <<"bool:\t\t" <

std. cout <<"char:\t\t" <

std. cout <<"wchar_t:\t" <

std. cout <<"char16_t:\t" <

std. cout <<"char32_t:\t" <

std. cout <<"short:\t\t" <

std. cout <<"int:\t\t" <

std. cout <<"long:\t\t" <

std. cout <<"long long:\t" <

std. cout <<"float:\t\t" <

std. cout <<"double:\t\t" <

std. cout <<"long double:\t" <

Ha kíváncsi, hogy a fenti kód "\ t" -e, ez egy speciális karakter, amelyet a TAB helyett használ (betét beillesztése). Az oszlopok igazításához használtuk. Nézzük meg a "\ t" és más speciális karaktereket, ha megnézzük a karakter adattípus karaktert.

Érdekes módon a sizeof egyike a C ++ három operátorának, ami egy szó, nem szimbólum. A másik két operátor új és töröl.

Használhatja a sizeof operátort a változóval:

TOP ARTICLES

  • 1. lecke Bevezetés a programozásba
  • Milyen programozási nyelvet kell először tanulnom? Hogyan lehet pénzt keresni?
  • A legjobb közönség a programozók számára
  • A programozó szótár. Slang, amelyet minden kódolónak tudnia kell
  • Mit tegyek a Windows telepítése után? Programok telepítése
  • Hogyan tanulhatunk vak tipizálást a billentyűzeten?
  • Lépjen velünk kapcsolatba

Kapcsolódó cikkek