Vous êtes sur la page 1sur 1

int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90};

int *P;
P = A;

Quelles valeurs ou adresses fournissent ces expressions:

a) *P+2 = 14
b) *(P+2) = 34
c) &P+1 = 13
d) &A[4]-3 = P+4-3 = P+1 = &A[1]
e) A+3 = A[3]
f) &A[7]-P = P+7-P = 7
g) P+(*P-10) = P+12-10 = P+2 = A[2]
h) *(P+*(P+8)-A[7]) = *(P+90-89) = *(P+1) = 23
correction ::

a) *P+2 => la valeur 14


b) *(P+2) => la valeur 34
c) &P+1 => l'adresse du pointeur derrière le pointeur P
(rarement utilisée)
d) &A[4]-3 => l'adresse de la composante A[1]
e) A+3 => l'adresse de la composante A[3]
f) &A[7]-P => la valeur (indice) 7
g) P+(*P-10) => l'adresse de la composante A[2]
h) *(P+*(P+8)-A[7]) => la valeur 23