Les types et leurs places dans la RAM


Chaque type en C++ à une taille prédéfinie. Cette taille est au fait la taille qu'il prend dans la RAM !
Si vous ne vous souvenez plus de la taille de chaque type je vous redirige sur le cours sur "Les variables et les types"

Prenons pour exemple un char. Un char prend une taille de 8 bits c'est à dire 1 octet.
Ce qui signifie qu'il prend une seul case dans la RAM (schema)
Exemple : (char)a => (ASCII)97 => (binaire)01100001

(Pour les conversions de char en binaire référez vous à la table ASCII)

Nous allons donc stocker la lettre 'a' dans la RAM :

L'adresse qui lui est attribuée est choisi par votre système d'exploitation (il prendra un emplacement libre)

Imaginez maintenant que nous voulons stocker en plus un entier dans la RAM.
L'integer fait 32 bits (donc 4 octets). Nous allons donc avoir besoin d'utiliser 4 cases de la RAM.
Exemple : (int)145 => (binaire)00000000 00000000 00000000 10010001

Nous allons donc stocker le chiffre 145 dans la ram :

L'adresse de ce chiffre est bien 0x002 mais il occupe 4 cases de la RAM(0x002 0x003 0x004 0x005).


Facile ? Et encore nous n'avons pas encore parlé des pointeurs ! Dans le chapitre suivant vous allez voir à quoi il sert !