Soit P un pointeur qui ‘pointe’ sur un tableau A:
int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90};
int *P;
P = A;
Les pointeurs en langage C
Quelles valeurs ou adresses fournissent ces expressions:
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
|