Probleme sur les Prointeur en C.
Ahcène78
Messages postés
4
Statut
Membre
-
mype Messages postés 2449 Statut Membre -
mype Messages postés 2449 Statut Membre -
bonsoir, et merci pour votre aide .
je suis débutant en C, je voudrais avoir un explication sur le résultat d'un mini programme.
#include <stdio.h>
#include <stdlib.h>
void f(int *a,int b)
{
b=b+1;
*a=2;
}
int main()
{
int a,b;
a=1;
b=4;
f(&a,b);
printf("%d %d \n",a,b);
return 0;
}
résultat a=2, b=4
pourquoi vaut a=2 et non 1?
merci pour votre aide
je suis débutant en C, je voudrais avoir un explication sur le résultat d'un mini programme.
#include <stdio.h>
#include <stdlib.h>
void f(int *a,int b)
{
b=b+1;
*a=2;
}
int main()
{
int a,b;
a=1;
b=4;
f(&a,b);
printf("%d %d \n",a,b);
return 0;
}
résultat a=2, b=4
pourquoi vaut a=2 et non 1?
merci pour votre aide
1 réponse
c'est pour te montrer comment modifier une valeur dans une fonction avec les pointeurs
la tu passe a la fonction l'adresse de a et grace au pointeur tu pourra modifier la valeur qui se trouve a cet adresse si tu n'utilise pas l'adresse et le pointeur la valeur sera modifié dans ta fonction mais pas dans le main d'ailleur tu vois que la valeur de b n'est pas modifié dans le main alors que dans ta fonction tu as b=b+1
la tu passe a la fonction l'adresse de a et grace au pointeur tu pourra modifier la valeur qui se trouve a cet adresse si tu n'utilise pas l'adresse et le pointeur la valeur sera modifié dans ta fonction mais pas dans le main d'ailleur tu vois que la valeur de b n'est pas modifié dans le main alors que dans ta fonction tu as b=b+1
merci pour ta réponse. j'ai pas fait attention au &a. c est tellement évident !!
merci bcp
merci pour ta réponse. j'ai pas fait attention au &a. c est tellement évident !!
merci bcp