1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| int main() {
double tab[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
double *pt;
int i;
pt=&tab[0] // Je place l'adresse de "tab[0]" dans "pt"
// Itération sur les indices du tableau
for (i=0; i < 10; i++) {
// Affichage en passant par l'indice (façon classique)
printf("Le carré de %lf est %lf\n", tab[i], tab[i] * tab[i]);
// Affichage en passant par le pointeur (ou plutôt le pointé)
printf("Le carré de %lf est %lf\n", *pt, (*pt) * (*pt));
// Il faut incrémenter le pointeur pour qu'il positionne sa valeur sur l'adresse du double suivant
pt++;
}
// Autre façon d'écrire le for (en plus condensé)
for (i=0, pt=tab /* "tab + n" équivaut à "&tab[n]" donc "tab" équivaut à "&tab[0]" */; i < 10; i++, pt++) {
printf("Le carré de %lf est %lf\n", *pt, (*pt) * (*pt));
} // L'initialisation et l'incrément se font dans le for() qui peut très bien gérer plusieurs variables à la fois
} |
Partager