Tipuri de date simple în C / C++

Ceva mai înainte Ana a povestit despre tipurile de date simple. Ea însă nu a vorbit despre cum datele sunt ”legate” de program, cum se alocă memorie pentru ele și de ce fiecare element de date are nevoie de un nume. Să începem!

În C există câteva tipuri de date simple. Pentru a le defini se folosesc cuvintele rezervate:

  • int sau long – pentru datele care reprezintă numere întregi ce nu depășesc (de obicei) 2 x 109 după modul
  • long long – pentru datele care reprezintă numere întregi ce nu depășesc (de obicei) 9 x 1018 după modul

Cu mai mult timp înainte tipurile int și long erau diferite – tipul int permitea operarea cu numere mai mici, între (aproximativ) -32000 și 32000. Și acum mai sunt dispozitive, în special calculatoare, pentru care această diferență există.

  • float  – pentru datele care reprezintă numere reale
  • char – tipul de date care permite utilizarea caracterelor ASCII, despre care a vorbit Ana

Limbajul C++ utilizează încă un tip de date simple:

  • bool – tipul de date logic (boolean) – pentru a păstra valori Adevăr sau Fals,  – rezultatele operațiilor logice.

Pentru a păstra fiecare unitate de date în memorie se alocă un anumit număr de celule. Acest număr depinde de proprietățile dispozitivului digital, dar și de compilatorul limbajului de programare folosit. Astfel, pentru datele simple folosite în limbajul C memoria se alocă în felul următor (fig. 3.4):

Figura 3.4 Alocarea memoriei. Pentru datele de tip caracterial este alocat 1 octet (8 biți) de memorie. Numerele întregi primesc 2 sau 4 octeți, în dependență de compilator. Pentru numerele reale se alocă de asemenea 4 octeți. Cea mai multă memorie se alocă numerelor reale cu precizie sporită și numerelor întregi foarte mari – 8 octeți.