English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C++ Il fournit deux opérateurs de pointeur, l'un est l'opérateur d'adresse & et l'autre est l'opérateur de adresse indirecte *.
Un pointeur est une variable qui contient l'adresse d'une autre variable, vous pouvez dire qu'une variable qui contient l'adresse d'une autre variable est "pointée" vers une autre variable. La variable peut être de n'importe quel type de données, y compris des objets, des structures ou des pointeurs.
L'opérateur d'adresse & est un opérateur unaire qui retourne l'adresse en mémoire de l'opérateur. Par exemple, si var est une variable de type int, alors &var est son adresse. Cet opérateur a la même priorité que les autres opérateurs unaires et est évalué de droite à gauche lors de l'opération.
Vous pouvez lire l'opérateur & comme"opérateur d'adresse"Cela signifie que,&var Lisez "l'adresse de var".
Le second opérateur est l'opérateur de adresse indirecte *C'est une complément de l'opérateur &.* C'est un opérateur unaire, qui retourne la valeur de la variable spécifiée par l'adresse.
Voyez l'exemple suivant pour comprendre l'utilisation de ces opérateurs.
#include <iostream> using namespace std; int main () { int var; int *ptr; int val; var = 3000; // Obtenir l'adresse de var ptr = &var; // Obtenir la valeur de ptr val = *ptr; cout << "La valeur de var :" << var << endl; cout << "La valeur de ptr :" << ptr << endl; cout << "La valeur de val :" << val << endl; return 0; }
Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :
La valeur de var :3000 La valeur de ptr :0xbff64494 La valeur de val :3000