Table of Contents

Laborator 5: Reprezentarea datelor

Acest laborator are ca scop înțelegerea în amănunt a felului în care sunt reprezentate datele în limbajul C.

Exemplificarea este făcută pentru un sistem de operare Linux, pe 32 de biți.

Dacă sistemul este pe 64 de biți, este recomantă instalarea pachetelor gcc-multilib și ia32-libs. Pentru compilarea cu gcc trebuie adăugat suplimentar și flag-ul -m32.

Spațiul de adresă al unui proces

Spațiul de adresă al unui proces este reprezentat de memoria virtuală pe care o poate accesa acesta. Spre exemplu, pe sisteme de 32 de biți, procesele au la dispoziție un spațiul virtual de $2^{32}$ octeți, adică $4GB$.

Zona de cod

Zona de date

Stiva

Heap

Dimensiunea tipurilor de date

Tipuri de date standard

Little Endian
Big Endian

Structuri de date

Vectori vs. array-uri

Aritmetică cu pointeri