« Programmation C/Pointeurs » : différence entre les versions
Contenu supprimé Contenu ajouté
m Révocation des modifications de Tavernierbot (retour à la version précédente de 84.100.219.221) |
→Arithmétique de base : suppression d'un exemple erroné |
||
Ligne 75 :
}</source>
Normalement un tableau de N cases permet d'être itéré sur les indices allant de 0 à N - 1, inclusivement. L'
À noter qu'à l'issue de la boucle, <code>p</code> pointera sur la N+1ème case du tableau, donc hors de l'espace alloué. Le C autorise tout à fait ce genre de pratique, il faut juste faire attention à ne pas déférencer le pointeur à cet endroit.
On notera que pour un tableau, écrire <code>&tableau[0]</code> ou <code>tableau</code>, c'est strictement équivalent. Cela montre qu'en C, la notion de pointeur et de tableau sont intimement liés
▲On notera que pour un tableau, écrire <code>&tableau[0]</code> ou <code>tableau</code>, c'est strictement équivalent. Cela montre qu'en C, la notion de pointeur et de tableau sont intimement liés. Dans l'itération, on ne peut évidemment pas commencer à la case <code>&tableau[N]</code>, car elle n'est pas censée exister, on doit alors penser à reculer d'une case juste avant.
<li>Soustraction de deux pointeurs de même type (combien d'objet de type ''T'' y a t-il entre les deux pointeurs) : le résultat est donc un '''entier''', de type <code>ptrdiff_t</code>.
|