par Helden » Mer 1 Sep 2010 13:29
oui , je vois pas en quoi c'est différents:
void triplePointeur(int *pointeurSurNombre);
int main(int argc, char *argv[])
{
int nombre = 5;
int *pointeur = &nombre; // pointeur prend l'adresse de nombre
triplePointeur(pointeur); // On envoie pointeur (l'adresse de nombre) à la fonction
printf("%d", *pointeur); // On affiche la valeur de nombre, en tapant *pointeur
return 0;
}
void triplePointeur(int *pointeurSurNombre)
{
*pointeurSurNombre *= 3; // On multiplie par 3 la valeur de la variable nombre
}
et
void triplePointeur(int *pointeurSurNombre);
int main(int argc, char *argv[])
{
int nombre = 5;
triplePointeur(&nombre); // On envoie l'adresse de nombre à la fonction
printf("%d", nombre); // On affiche la variable nombre. La fonction a directement modifié la valeur de la variable car elle connaissait son adresse
return 0;
}
void triplePointeur(int *pointeurSurNombre)
{
*pointeurSurNombre *= 3; // On multiplie par 3 la valeur de la variable nombre
}
je vois pas l'interet de mettre l'un ou l'autre...