Je sais que ce topic n'est pas nouveau. Mais quelle est la différence entre un pointeur et une référence?![]()
Merci![]()
Je sais que ce topic n'est pas nouveau. Mais quelle est la différence entre un pointeur et une référence?![]()
Merci![]()
Les pointeurs existent en C. Les references n'existent pas en C. C'est une difference...
Quelle est la définition d'une référence ? Est-ce que &var n'est pas une référence sur var ?Envoyé par DaZumba
Pas vraiment. A strictement parler, &var est l'adresse de var (& est l'operateur adresse). Si on veut appeler ca 'reference', soit, mais il faut le preciser parce que ce n'est l'usage etabli.Envoyé par Eusebius
Je pense que le PO voulait parler du passage par reference a une fonction (i.e. eviter la copie de la variable passee en argument) qui existe en Fortran ou en C++, notamment. Mais le C ne connait que le passage par valeur.
Je crois qu'une referrence en C++ pointe forcement sur quelquechose (donc pas sur NULL) et qu'on peut pas faire d'arithmetique dessus (pas d'addition, d'incrementation...)
On va finir par repondre a la question... En C++, un passage par reference signifie que l'on passe la variable a la fonction. Pas un pointeur contenant l'adresse de la variable, pas l'adresse de la variable. La variable. (Apres, c'est a l'implementation de determiner comment emuler ce comportement... Cela peut impliquer l'usage de pointeurs.)
Oué ben fallait pas appeler ça un "opérateur de déréférencement" parce que c'est légèrement trompeur...Envoyé par DaZumba
![]()
L'operateur de dereferencement, c'est * (comme dans *p = 5; ). Mais tu as raison. Puisqu'on parle de derefencement, autant parler de referencement pour &...Envoyé par Eusebius
Il faudrait savoir de quoi le PO parle...
Partager