Comment imprimer une adresse d'une variable en programmation C?

Comment imprimer une adresse d'une variable en programmation C?
Lorsque nous définissons une variable avec n'importe quel type de données, telles que INT, Double, Float ou Char, le système d'exploitation alloue une certaine mémoire à la variable. Cette mémoire peut avoir une valeur aléatoire mais ne peut pas être négative. Cette valeur aléatoire est connue comme l'adresse de la variable, et chaque variable a une adresse unique.

Dans cet article, vous comprendrez comment imprimer l'adresse d'une variable dans la programmation C.

Comment imprimer l'adresse d'une variable dans la programmation C?

Nous avons deux méthodes pour imprimer l'adresse d'une variable dans la programmation C.

  • Utilisation de l'opérateur «Adresse» (&)
  • Utilisation de la variable du pointeur

Méthode 1: Imprimez une adresse variable à l'aide de l'opérateur «Adresse de»

Pour imprimer l'adresse d'une variable en utilisant le «Adresse de l'opérateur», Nous pouvons suivre les étapes de ci-dessous:

Étape 1: Déclarez d'abord une variable de tout type de données et initialisez-les avec une valeur. Le type de données peut être int, flottant ou char.

Étape 2: Puis utilisez le «Adresse de l'opérateur» (&) suivi du nom de variable pour obtenir son adresse.

Étape 3: Après cela, stockez l'adresse dans une variable de pointeur de type "Pointer vers le même type de données que la variable d'origine".

Étape 4: Puis imprimez l'adresse à l'aide de la fonction printf ().

Ce qui suit est une illustration d'un programme C qui imprime une adresse variable à l'aide du «Adresse de l'opérateur» (&).

#inclure
int main()

int num1;
float num2;
Char C;
printf ("Veuillez saisir une valeur entière pour imprimer son adresse \ n");
scanf ("% d", & num1);
printf ("Le numéro entré est% d: \ n", num1);
printf ("Adresse de% d est:% p \ n", num1, & num1);
printf ("Veuillez saisir une valeur de flotteur pour imprimer son adresse \ n");
scanf ("% f", & num2);
printf ("Le numéro entré est% f: \ n", num2);
printf ("Adresse de% f est:% p \ n", num2, & num2);
printf ("Veuillez saisir un caractère pour imprimer son adresse \ n");
scanf ("% c", & c);
getChar ();
printf ("l'adresse du caractère est:% p \ n", & c);
retour 0;

Le programme ci-dessus invite l'utilisateur à entrer un entier, un flotteur et un caractère, puis imprime ses valeurs et ses adresses mémoire à l'aide du «Adresse de l'opérateur» (&) et la fonction printf () de la bibliothèque d'entrée / sortie standard. Il utilise également la fonction Scanf () pour lire l'entrée de l'utilisateur et le getchar () fonction pour consommer le caractère newline laissé dans le tampon d'entrée par scanf ().

Méthode 2: Imprimez une adresse variable à l'aide du pointeur

Pour imprimer l'adresse d'une variable à l'aide d'un pointeur, nous pouvons suivre ces étapes:

Étape 1: Déclarer une variable de tout type de données (e.g., int, float, char) et l'initialiser avec une valeur.

Étape 2: Déclarez une variable de pointeur du même type de données que la variable d'origine, en utilisant l'opérateur Asterisk (*).

Étape 3: Attribuez l'adresse de la variable d'origine à la variable du pointeur à l'aide de «l'adresse de l'opérateur» (&).

Étape 4: Utilisez la variable du pointeur pour imprimer l'adresse de la variable d'origine.

Ce qui suit est une illustration d'un programme C qui imprime une adresse variable en utilisant "aiguille".

#inclure
int Main (vide)

int num1;
int * ptr_num1 = &num1;
printf ("Veuillez saisir une valeur entière pour imprimer son adresse \ n");
scanf ("% d", & num1);
printf ("Le numéro entré est% d: \ n", num1);
printf ("Adresse de a:% p \ n", ptr_num1);
float num2;
float * ptr_num2 = &num2;
printf ("Veuillez saisir une valeur de flotteur pour imprimer son adresse \ n");
scanf ("% f", & num2);
printf ("Le numéro entré est% f: \ n", num2);
printf ("Adresse de b:% p \ n", ptr_num2);
Char C;
char * ptr_c = & c;
printf ("Veuillez saisir un caractère pour imprimer son adresse \ n");
scanf ("% c", & c);
getChar ();
printf ("Adresse de C:% p \ n", ptr_c);
retour 0;

Le programme ci-dessus invite l'utilisateur à entrer un entier, un flotteur et un caractère, puis imprime ses valeurs et ses adresses mémoire en utilisant pointeurs. Il utilise le «Adresse de l'opérateur» (&) Pour attribuer l'adresse mémoire des variables à leurs variables de pointeur correspondantes, puis imprime l'adresse à l'aide de printf à partir de la bibliothèque d'entrée / sortie standard (STdio.h).

Sortir

Conclusion


L'impression de l'adresse d'une variable dans la programmation C peut être effectuée en utilisant le "adresse de" Variables opérateur ou pointeur. Le "adresse de" l'opérateur nécessite l'utilisation du "&" symbole pour obtenir l'adresse, tandis que les variables du pointeur nécessitent l'utilisation du "*" symbole pour déclarer une variable de pointeur et "&" Pour attribuer l'adresse de la variable d'origine. Les deux méthodes permettent d'imprimer et d'utiliser l'adresse unique d'une variable dans la programmation C.