Université Tunis El Manar
Institut Supérieur d’Informatique
Département GLSI
Algorithmique & complexité
TD 2 : Les pointeurs
Exercice 1 : Décrire l’évolution de chaque variable après chaque instruction. (Faire des schémas).
x, n : entier
ptn : pointeur sur entier
ptn &n
*ptn 5
n 7;
x *ptn
Exercice 2 : Quel est le résultat des instructions suivantes : (Faire des schémas).
n : entier
ad1 : pointeur sur entier
* ad1 3
Exercice 3 : Quel est le résultat des instructions suivantes : (Faire des schémas).
n : entier
Ad1 : pointeur sur entier
Ad1 &n
* Ad1 3 < == > *&n 3 < == > n 3
Exercice 4 : Soit les trois instructions suivantes :
ad1 : pointeur sur entier
n: entier
n10
ad1 &n
Que valent les expressions suivantes après les deux instructions précédentes ? (Faire des schémas).
1. ad1 4. n =10
2. *(& ad1) 5. *(&(n))
3. & (*ad1) 6. &(*n)
Exercice 5 Soit les déclarations de variables suivantes :
ptn, ad1 : pointeur sur entier
Écrire un algorithme qui :
crée dynamiquement un entier en mémoire,
l’initialise à une valeur lue au clavier,
met son adresse dans le pointeur ad1,
l’affiche à l’écran
puis supprime l’espace alloué
Faire des schémas
Exercice 6 Écrire une procédure dans laquelle vous :
(a) Déclarez un entier i et un pointeur vers entier p
(b) Initialisez l'entier i à une valeur arbitraire 12 et faites pointer le pointeur p sur i
(c) Imprimez la valeur de i à l'écran
(d) Modifiez l'entier pointé par p (en utilisant p et non pas i) à une valeur arbitraire (25)
(e) Imprimez la valeur de i à l'écran une dernière fois