1

quand on passe une variable en argument a une fonction, cette fonction peut modifier la variable, et ce changement est aussi effectué dans la fonction qui appelle cette fonction (si vous voyez ce que je veut dire)

mais pourquoi parfois cette variable n'est pas modifier ds la fonction qui appelle cette fonction ???

ex:

void fonction1(short n)
{
n+=5;
}

void fonction2(void)
{
short nb;
nb=0;
fonction1(nb)
printf(nb); // ici normalement nb doit valoir 5, mais pourquoi parfois ça n'est pas le cas dans d'autre appel comme ça de fonction ???
}

2

si on passe l'argument "par valeur", c'est une copie de celui-ci qui sera utilisée dans la fonction fonction1.
=> si tu fais

void fonc1(a)
{
a=10;
}

void fonc2(void)
{
int a;
a=0;
fonc1(a)
affiche(a);
}
=> ça affichera a=0;


il fo que tu passe l'adresse de la variable si tu veux la modifier....
=> la fonction appellée ne travaillera pas sur une copie, mais directement sur l'original.
(et c là qu'interviennent les pointeurs)

prototype :
void fonc1(int *);

la fonction :
void fonc1(int *a)
{
*a = 10;
}

et l'appellant :
void fonc2(void)
{
int b;
b=0;
fonc1(&b);
affiche(b);
}
=> ça affichera 10, vu que tu aura, dans fonc1, travaillé directement sur b (via son adresse)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

3

tout a fai squale92
je voi que tu est un connaisseursmile
Jah Live !
And Never Die !!

4

disons que je connais deux trois petits trucs sur la programmation en C.
Et avec tout ce que j'ai au début galéré pr les pointeurs... sad
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

5

c la 1ere fois que j'utilise vraiment des pointeurs pour des short, et c la 1ere fois que ce passage d'argument me gene d'ailleurs

menfin merci smile