Partage de technologie

c Apprenez le chemin qui mène à l'entretien

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Quelle est la différence entre une référence et un pointeur ?
  • Les pointeurs et les références sont tous deux des concepts d'adresse. Un pointeur pointe vers un morceau de mémoire, et son contenu est l'adresse de la mémoire pointée ; une référence est un alias pour un certain morceau de mémoire.

  • Le programme alloue une zone mémoire pour les variables de pointeur mais pas pour les références.

  • Lorsque vous utilisez des pointeurs, ajoutez * devant eux et les références peuvent être utilisées directement.

  • Les références sont initialisées lorsqu'elles sont définies et ne peuvent pas être modifiées ultérieurement ; les pointeurs peuvent changer. Autrement dit, l'objet référencé ne peut pas être modifié, mais l'objet pointeur peut être modifié.

  • Il n'y a pas de références nulles, mais il existe des pointeurs nuls. Cela rend le code utilisant des références plus efficace que l'utilisation de pointeurs. Car il n’est pas nécessaire de tester la validité d’une référence avant de l’utiliser. En revanche, les pointeurs doivent toujours être testés pour éviter qu'ils ne soient nuls.

  • Utilisez "sizeof" sur une référence pour obtenir la taille de la variable et utilisez "sizeof" sur un pointeur pour obtenir la taille de l'adresse de la variable.

  • Théoriquement, il n’y a pas de limite au nombre de niveaux de pointeur, mais il n’existe qu’un seul niveau de référence. Autrement dit, il n'y a pas de référence à une référence, mais il peut y avoir un pointeur vers un pointeur. int **p //Légal, int