allouer l’espace mémoire contigu nécessaire au stockage de cette chaîne. Que représente alors la variable ? Bien souvent ce 
sera la position en mémoire de la chaîne de caractères, autrement dit son adresse. 
Pour  reprendre  l’exemple  de  la  chaîne  de  caractères  "Bonjour"  ci­dessus,  elle  débute  à  l’adresse  mémoire  1616.  Si  c’est la 
variable  "txt"  qui  "contient"  cette  chaîne,  txt  va  en  fait  référencer  le  tableau  de  caractères  présent  à  l’adresse 1616. C’est 
flagrant avec des langages comme le C qui permettent de manipuler directement les adresses mémoire et leur contenu. 
Prenez maintenant un tableau de cinq chaînes de caractères : 
PROGRAMME TABCHAINES 
VAR 
Messages:tableau[1..5] de chaînes 
DEBUT 
Messages[1]←"il" 
Messages[2]←"ne" 
Messages[3]←"fait" 
Messages[4]←"pas" 
Messages[5]←"beau" 
FIN
Pour se représenter ceci en mémoire, il faut d’abord se représenter l’organisation des chaînes de caractères. Soit la phrase "il 
ne fait pas beau", vous voulez placer chacun des mots dans un élément d’un tableau : 
Notez deux choses : 
q Un octet est rajouté pour le caractère nul en fin de chaîne et donc une chaîne de longueur n occupe n+1 octets en 
mémoire. 
q Il se peut que les chaînes ne se suivent pas en mémoire si au moment de les écrire dedans il n’existe pas assez de 
positions libres contiguës disponibles. Aussi les adresses données dans ce tableau peuvent être totalement décalées 
par rapport à la réalité. 
Le tableau de chaîne de caractères contiendrait donc les références des adresses mémoires où sont réellement stockées les 
chaînes de caractères : 
Un astucieux tour de passe­passe qui permet de nombreuses choses ! 
Adresses 
2007­>2009 
2010­>2012 
2013­>2017 
2018­>2021 
2022­>2026 
Contenu 
Il 
Ne 
Fait 
Pas 
Beau 
Indice 
0 
1 
2 
3 
4 
Référence 
2007 
2010 
2013 
2018 
2022 
- 8 -
© ENI Editions - All rigths reserved - Jonifar lina
102
Précédent

- 102/220

Suivant