Next: La pile et les
Up: La mémoire
Previous: Introduction
-
A chaque variable va correspondre une adresse en mémoire.
-
Un octet ne peut représenter que valeurs
différentes. Ce qui, dans le cas des nombres entiers, permet de ne
représenter que
les nombres entiers de 0 à 255. Pour représenter un entier on a besoin
de deux octets.
A chaque type va correspondre un nombre d'octets fixé.
- Les entiers seront codés sur deux octets ( valeurs
possibles, de -32767 à 32768).
- Les réels seront codés sur 4 octets.
- Les objets du type complexe (Voir paragraphe 4.3) seront codés sur
8 octets (la taille de deux nombres réels).
-
Chaque variable sera représentée par le triplet
(nom, adresse, type). La valeur de la variable pouvant être
déduite des informations adresse et type.
- En Pascal :
-
Pour un nom de variable donné, on ne peut avoir
qu'un seul type et une seule adresse associés.
- Par contre deux variables de noms différents peuvent avoir
la même adresse. On les appelle des alias. Par exemple,
dans un tableau, T[i] et T[j] sont des alias si i=j.
De même, lors de l'appel d'une procédure, les paramètres formels
de type variable et les paramètres effectifs associés sont des
alias.
- Deux objets de noms différents et de types différents
peuvent avoir la même adresse. Par exemple si on déclare :
var z : complexe,
alors z et z.reelle ont la même adresse et sont de types différents.
Frederic Mesnard
mardi, 15 décembre 1998, 16:13:24 GMT+4