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

Contenu supprimé Contenu ajouté
Tavernierbot (discussion | contributions)
m Robot : Changement de type cosmétique
Ligne 95 :
<br />
{{Erreur volontaire}}
<source lang="c">int autre_tableau[3];
int tableau[10];
int * p = &tableau[5]; /* p pointe sur le 6e élément du tableau */
int * q = &tableau[3]; /* q pointe sur le 4e élément du tableau */
ptrdiff_t diff1 = p - q; /* diff1 vaut 2 */
ptrdiff_t diff2 = q - p; /* diff2 vaut -2 */
 
q = &autre_tableau[2];
Ligne 109 :
 
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;
int * p = &a; /* On peut accéder à la valeur de 'a' via 'p[0]' ou '*p' */
Ligne 151 :
/* Ailleurs dans le programme */
int * tableau = alloue_tableau(256, sizeof *tableau);
if (tableau != NULL)
{
/* opérations sur le tableau */