Bonjour,
je cherche une explication à un problème de bon usage des pointeurs lors d'un appel de fonction C.
Voici mon code :
Dans le programme principal, je pensais qu'après l'appel de foo(), mon pointeur "a" prendrait l'adresse de la variable globale "entier". Il semblerait que non... Est ce que quelqu'un pourrait m'expliquer pourquoi ? Est ce que parce que passé ainsi, ce pointeur est en fait passé par valeur, ce qui empêche toute modification ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #include <stdio.h> int entier; int foo ( int *ptr ) { ptr = &entier; } int main ( void ) { int *a; entier = 200; foo(a); printf("%d\n",*a); }
Merci d'avance
Didou
Partager