Algorithmique et Langage - Pages de Michel Deloizy - Free
Algorithmique et Langage - Pages de Michel Deloizy - Free
Algorithmique et Langage - Pages de Michel Deloizy - Free
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Arithmétique <strong>de</strong>s pointeurs<br />
Pointeurs <strong>et</strong> tableaux<br />
Opérations vali<strong>de</strong>s<br />
pointeur<br />
pointeur<br />
pointeur<br />
pointeur<br />
Opérateur<br />
+<br />
-<br />
-<br />
comparaison<br />
entier<br />
entier<br />
pointeur<br />
pointeur<br />
Résultat<br />
Pointeur<br />
Entier<br />
…<br />
p+i accès au<br />
p pointeur<br />
i entier<br />
élément situé à partir <strong>de</strong> p<br />
accès au i ème élément situé à partir <strong>de</strong><br />
⇒ fonctionnement i<strong>de</strong>ntique aux tableaux<br />
p-2<br />
p-1<br />
p p+1 p+2 …<br />
M. <strong>Deloizy</strong> <strong>Langage</strong> C<br />
65<br />
M. <strong>Deloizy</strong> <strong>Langage</strong> C<br />
66<br />
Parcours d’une chaîne <strong>de</strong> caractères<br />
char *p, c;<br />
p = "HELLO";<br />
c = *p; ⇒ c = 'H'<br />
c = *(p+1);<br />
p += 4;<br />
p--; ⇒ *p = 'L'<br />
⇒ c = 'E'<br />
⇒ *p = 'O'<br />
Types <strong>de</strong>s données pointées<br />
Pointeur ± entier ⇒ Valeur du pointeur ± n fois la taille <strong>de</strong> l'élément pointé.<br />
Exemple :<br />
char *pc ; pc pointe sur un caractère (taille : 1 oct<strong>et</strong>)<br />
int *pi ; pi pointe sur un entier (taille : 4 oct<strong>et</strong>s ici)<br />
....<br />
On suppose que pc=0x3AB0 <strong>et</strong> pi=0xE020<br />
pc+1 ; → vaut 0x3AB1<br />
pc+5 ; → vaut 0x3AB5<br />
pi+1 ; → vaut 0xE024<br />
pi+5 ; → vaut 0xE034<br />
⇒ nécessité <strong>de</strong> connaître le type <strong>de</strong> la donnée pointée<br />
l'arithmétique <strong>de</strong>s pointeurs ne fonctionne pas avec <strong>de</strong>s pointeurs void<br />
M. <strong>Deloizy</strong> <strong>Langage</strong> C<br />
67<br />
M. <strong>Deloizy</strong> <strong>Langage</strong> C<br />
68<br />
17