Quelle est la différence entre référence et pointeur

王林
Libérer: 2020-07-18 15:43:46
original
11384 Les gens l'ont consulté

La différence entre une référence et un pointeur est : 1. Le programme alloue une zone mémoire pour la variable pointeur, mais pas pour la référence 2. La référence est initialisée lorsqu'elle est définie et ne peut pas être modifiée ultérieurement ; , alors que le pointeur peut changer ; 3. Les pointeurs doivent être ajoutés avec "*" lors de leur utilisation, et les références peuvent être utilisées directement.

Quelle est la différence entre référence et pointeur

Tout d'abord, les pointeurs et les références sont 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.

(Tutoriel recommandé : Tutoriel langage c )

Introduction détaillée :

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 et les références peuvent être utilisées directement.

La référence est initialisée lorsqu'elle est définie et ne peut pas être modifiée ultérieurement ; le pointeur peut changer, c'est-à-dire que l'objet référencé ne peut pas être modifié, mais l'objet du pointeur peut être modifié.

Il n'y a pas de référence nulle, mais il y a un pointeur nul. 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.

L'utilisation de "sizeof" sur la référence obtiendra la taille de la variable, et l'utilisation de "sizeof" sur le pointeur obtiendra 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'y a 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. La référence

int **p //合法
int &&p //非法
Copier après la connexion

++ et le pointeur ++ ont des effets différents.

Par exemple, comme pour l'opération ++, l'opération sur la référence reflète directement l'objet pointé, plutôt que de changer le pointeur tandis que l'opération sur le pointeur fera pointer le pointeur vers l'objet suivant, plutôt ; que de changer l'objet pointé. Le contenu de l'objet.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!