Pointeurs, adresses: exercices (1)
Dans le programme suivant tab est à l'adresse 3000 (base 10) et toutes les variables sont consécutives en mémoire:
int main (void)
{
float tab[4] = {10.5, 11,12.5,13.8};
char* s[2] = {"Bon", "Soir"};
float* p1 = tab;

printf("%f\n", *(tab+1));
printf("%p\n", tab+2);
printf("%c\n", *(s[0]));
printf("%s\n", *(s+1));
printf("%p\n", p1+1);
printf("%f\n", *(p1+1));
*(p1+1) = 67.4;
printf("%f\n", tab[1]);

printf("%s\n", s[1]);
s[1] = *s;

printf("%s\n", *s);
printf("%s \n",*(s+1));

return(0);
}



adresse de tab:              représentation en mémoire:
adresse de s:                  représentation en mémoire:
adresse de p1:                repésentation en mémoire:

affichage:
affichage:
affichage:
affichage:
affichage:
affichage:
zone affectée:
affichage:

affichage:
zone affectée:

affichage:
affichage:
suivant             plan