jfk20004
Messages postés39Date d'inscriptionmercredi 25 août 2004StatutMembreDernière intervention13 novembre 2004
-
26 août 2004 à 13:05
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 2004
-
26 août 2004 à 14:31
je ne comprends pas le principe qui consiste à pouvoir modifier une variable par un passage par reference.
Une variable n'est elle pas comme son nom le laisse sous entendre
destinée à etre modifiée.
Si je declare une variable et que ma fonction veut la modifier est
ce que alors ma fonction utilise un appel par reference.Si c'est ça.
OK.MERCI BONNE PROG
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 26 août 2004 à 13:22
Passage par ref :
main (){
int ok = 5;
appel(&ok);
printf("%d", ok);
}
appel(int *ok) {
*ok = 6;
}
lors du printf ok, apparaitra 6 a l'ecran.
Kan tu parle de passage par reference en C, tu atteris OBLIGATOIREMENT sur les pointeurs. Le sujet avait été traité ya pas si longtemps ke ca sur le forum.
DevGizmo
Messages postés122Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention27 février 20071 26 août 2004 à 13:50
Par valeur, la variable est recopier dans la pile, mais ce n'est qu'une copie donc quand on sort de la fonction qui la manipule on perd les modifs
Par reference, on passe l'adresse de la variable donc on a un pointeur sur cette adresse; implique que l'on peut modifier la valeur de la variable a partir de la fonction...
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 26 août 2004 à 14:20
AlexMAN > ton exemple c'est du passage par valeur, pas par reference
DevGizmo > on manipule pas un pointeur comme le passage par pointeur en C mais plutot un alias de l'objet, mùais c'est bien l'adresse qui est passée à la fonction