Cet article fournit un guide pour trouver l'adresse mémoire d'une variable en C++.
Comment déterminer l'adresse mémoire d'une variable en C++
En C++, il existe deux méthodes pour déterminer l'adresse mémoire d'une variable :
Méthode 1 : Trouver l'adresse mémoire de la variable à l'aide de l'« adresse de » et de l'opérateur
Lorsque nous devons déterminer l'adresse mémoire d'une variable, nous pouvons utiliser le 'adresse de l'opérateur' (&) , qui renvoie l'adresse de la variable. Pour afficher l'adresse d'une variable, utilisez '&' avec le nom de la variable.
Prenons un exemple de programme pour le démontrer :
#include
en utilisant l'espace de noms std ;
entier principal ( )
{
entier num1 ;
flotter num2 ;
chaîne de caractères ;
écoute << 'Veuillez entrer une valeur entière pour trouver son adresse mémoire : ' ;
alimentaire >> num1 ;
écoute << 'Le numéro saisi est : ' << num1 << fin ;
écoute << 'Adresse de ' << num1 << ' est: ' <<& num1 << fin ;
écoute << 'Veuillez entrer une valeur décimale pour trouver son adresse mémoire : ' ;
alimentaire >> num2 ;
écoute << 'Le numéro saisi est :' << num2 << fin ;
écoute << 'Adresse de ' << num2 << ' est :' <<& num2 << fin ;
écoute << 'Veuillez entrer une chaîne pour trouver son adresse mémoire : ' ;
alimentaire >> chaîne ;
pour ( entier je = 0 ; je < str. longueur ( ) ; ++ je )
écoute << 'Adresse de ' << chaîne [ je ] << ' est :' << ( annuler * ) & chaîne [ je ] << fin ;
retour 0 ;
}
Nos étiquettes de variable dans le programme ci-dessus sont num1, num2 et str, avec des types de données int, float et string, respectivement. L'opérateur '&' est utilisé avec le nom de la variable pour trouver son adresse mémoire. Il convient de noter que la sortie qui fournit l'adresse de la variable est un nombre généré de manière aléatoire.
Méthode 2 : Trouver l'adresse mémoire d'une variable à l'aide d'un pointeur
En C++, les adresses de variables peuvent également être obtenues à l'aide de pointeurs. Une variable qui contient l'adresse d'une autre variable est appelée pointeur. Un pointeur sert comme n'importe quelle autre variable qui doit être spécifiée avant de pouvoir être utilisée. Un pointeur est défini en C++ avec la '*' opérateur, parfois appelé opérateur astérisque.
Regardons un exemple de programme pour trouver l'adresse mémoire à l'aide du pointeur :
#include#include
en utilisant l'espace de noms std ;
entier principal ( ) {
entier num1 ;
entier * ptr_num1 = & num1 ;
flotter num2 ;
flotter * ptr_num2 = & num2 ;
chaîne de caractères ;
écoute << 'Veuillez entrer une valeur entière pour trouver son adresse mémoire : ' ;
alimentaire >> num1 ;
écoute << 'Le numéro saisi est : ' << num1 << fin ;
écoute << 'Adresse de ' << num1 << ' est: ' << ptr_num1 << fin ;
écoute << 'Veuillez entrer une valeur décimale pour trouver son adresse mémoire : ' ;
alimentaire >> num2 ;
écoute << 'Le numéro saisi est : ' << num2 << fin ;
écoute << 'Adresse de ' << num2 << ' est: ' << ptr_num2 << fin ;
écoute << 'Veuillez entrer une chaîne pour trouver son adresse mémoire : ' ;
alimentaire >> chaîne ;
pour ( entier je = 0 ; je < str. longueur ( ) ; je ++ ) {
écoute << 'Adresse de ' << chaîne [ je ] << ' est: ' << ( annuler * ) & chaîne [ je ] << fin ;
}
retour 0 ;
}
Les étiquettes de variable dans ce programme sont num1, num2 et str, avec des types de données int, float et string, respectivement. L'adresse de la variable est déterminée à l'aide du pointeur avec le nom de la variable. Il convient de noter que la sortie qui fournit l'adresse de la variable est un nombre généré de manière aléatoire.
Conclusion
Lorsque nous déclarons une variable de n'importe quel type de données en C++, un emplacement mémoire lui est attribué par le système d'exploitation. Cet emplacement mémoire est un nombre arbitraire qui ne peut pas être négatif et est connu comme l'adresse de la variable. Connaître l'adresse mémoire d'une variable peut être utile dans certains scénarios de programmation. Dans cet article, nous avons illustré deux méthodes, la adresse de l'opérateur(&) et variables de pointeur , pour déterminer l'adresse mémoire d'une variable en C++ avec des exemples simples.