« Programmation C/Pointeurs » : différence entre les versions

Contenu supprimé Contenu ajouté
→‎Arithmétique de base : suppr erreur (l'un est de type pointeur, l'autre de type tableau)
→‎Arithmétique de base : Correction de grosse confusion
Ligne 95 :
Dans cet exemple, les deux premières soustractions sont définies, car <code>p</code> et <code>q</code> pointent sur des éléments du même tableau. La troisième soustraction est indéfinie, car on utilise des adresses d'éléments de tableaux différents.
 
Notons que l'opérateur <code>[]</code> s'applique toujours à une opérande de type entier et une autre de type pointeur. Lorsqu'on écrit <code>tableau[i]</code>, il y a en fait une conversion de tableau à pointeur avec l'application de l'opérateur <code>[]</code>. On peut donc bien sûr utiliser l'opérateur <code>[]</code> avec un pointeur pour opérande&nbsp;:
En fait, on peut même considérer que les variables sont elle mêmes des tableaux à un élément. En général, cela a peu d'intérêt de les manipuler via des tableaux, mais cela montre juste que le langage est relativement cohérent&nbsp;:
<source lang="c">int a;
int b;