TD1 – Pointeur, Tableau (GI11 – 2023/2024)
Semaine du 04/03/2024
Exercice 1.
Soit les instructions suivantes :
int x=5, *Px = &x ;
double y=6.38, *Py = &y ;
Ecrire les instructions permettant d’afficher :
a) Les valeurs des variables x et y
b) Les adresses des variables x et y
c) Les valeurs des variables x et y en utilisant les pointeurs Px et Py.
d) Les adresses des variables x et y en utilisant les pointeurs Px et Py.
Exercice 2.
Trouver les erreurs dans les suites d’instruction suivantes :
a) int *p, x = 34 ; *p = x ;
b) int x = 17, *p = x ; *p = 17 ;
c) double *q ; int x = 17, *p ; p = &x ; q = p ;
d) int x, *p ; &x = p ;
Exercice 3.
Compléter le tableau suivant pour chacune des instructions :
Programme a b c p1, *p1 p2, *p2
int a,b,c,*p1, *p2 ;
a=1, b=2, c=3
p1 = &a ; p2 = &c ;
*p1 = (*p2)++
p1=p2
p2 = &b
*p1- = *p2
++*p2
*p1* = *p2
a = ++*p2**p1
p1 = &a
*P2 = *P1/=*P2
Exercice 4.
Ecrire un programme C qui utilise la notion de pointeur pour lire deux entiers et
calculer leur somme.
Exercice 5.
Ecrire un programme C qui utilise la notion de pointeur pour la permutation du
contenu de deux variables de type char.
Exercice 6. (Tableau à une dimension)
Ecrire un programme C qui remplit un tableau (à une dimension) d’entiers et
calcule la somme de ses éléments en utilisant un pointeur pour son parcours.
Exercice 7. (Chaine de caractères)
Ecrire un programme C qui lit une chaîne de caractères et affiche cette chaîne à
partir de la première occurrence d’un caractère entré par l’utilisateur. En utilisant
pour ceci la fonction strchr et un pointeur pour le parcours de la chaîne.
Indications :
char * strchr( const char * string, int searchedChar );
Cette fonction recherche la première occurrence du caractère passé en
second paramètre dans la chaîne de caractères spécifiée via le premier
paramètre. Si le caractère recherché est présent dans la chaîne un pointeur
sur la première occurrence du caractère est retourné. Sinon le pointeur NULL
est retourné.
char * strrchr( const char * string, int searchedChar );
recherche la dernière occurrence du caractère passé en second paramètre
dans la chaîne de caractères spécifiée via le premier paramètre. Le retour est
aussi un pointeur (meme raisonnement que strchr).