De ce numerice tipuri de date în c sunt de o dimensiune

Fiecare programator, care a trebuit să fie scrise în C sau C-ca limbi, probabil, se confruntă cu faptul că mărimea variabilelor de același tip pe mașini diferite pot varia. O mică parte din înțelegerea acestei probleme, multe de odihnă, pentru a afla că, într-adevăr, aceeași dimensiune a indicatorului depinde de punerea în aplicare a mașinilor compilator și biți. Dar de ce? Și de ce atât de mulți octeți sunt un pointer la un caz particular?

Calculatoarele și compilatoare suporta diferite tipuri de stocare a datelor - în special, numere întregi și numere în virgulă mobilă. Fiecare tip diferit poate fi diferit de altele, de exemplu, metoda de prezentare a datelor stocate și volumul ocupat de memorie.

C limbaj de programare acceptă diferite tipuri de stocare cum ar fi numere întregi și numere reale cu virgulă. Tipul de caractere char. în general, utilizat pentru a reprezenta un singur caracter poate stoca, de asemenea, numere fără semn. O mai comună pentru aceste scopuri int formează o întreagă familie de tip datorită posibilelor prefixele: scurt. lung și lung lung - și toate dimensiunile diferite. Tabelul de mai jos indică cât de multe bytes sunt în fiecare tip de memorie în funcție de lungimea cuvântului a sistemului.

De ce numerice tipuri de date în c sunt de o dimensiune
Este posibil să observați că dimensiunea depinde de mașinile de biți (strict vorbind, de asemenea, cu privire la punerea în aplicare a compilatorului). Dar de ce doar o astfel de dimensiune? Vă rugăm să rețineți: scurt, «normală» int și lung lung au întotdeauna dimensiuni constante 2, 4 și 8 octeți, respectiv. Prefixul este lung înseamnă că stocarea acestei variabile trebuie să utilizeze un singur cuvânt calculator - 4 octeți pe mașină pe 32 de biți și 8 octeți la 64 de biți, respectiv.