Maison  >  Article  >  développement back-end  >  Programme C pour montrer la relation entre les pointeurs

Programme C pour montrer la relation entre les pointeurs

PHPz
PHPzavant
2023-09-08 23:45:021443parcourir

Programme C pour montrer la relation entre les pointeurs

En langage de programmation C, un pointeur vers un pointeur ou un double pointeur est une variable qui contient l'adresse d'un autre pointeur.

Déclaration

Ci-dessous se trouve la déclaration d'un pointeur vers un pointeur -

datatype ** pointer_name;

par exemple int **p

Ici, p est un pointeur vers un pointeur.

Initialisation

'&' est utilisé pour l'initialisation.

Par exemple,

int a = 10;
int *p;
int **q;
p = &a;

Access

L'opérateur indirect (*) est utilisé pour accéder à

Exemple de programme

Ce qui suit est un programme C pour les doubles pointeurs -

Démonstration en direct
#include<stdio.h>
main ( ){
   int a = 10;
   int *p;
   int **q;
   p = &a;
   q = &p;
   printf("a =%d ",a);
   printf(" a value through pointer = %d", *p);
   printf(" a value through pointer to pointer = %d", **q);
}

Sortie

Lorsque le programme ci-dessus est exécuté, il produira le résultat suivant -

a=10
a value through pointer = 10
a value through pointer to pointer = 10

Exemple

Maintenant, considérons un autre programme C qui montre la relation pointeur à pointeur.

Démonstration en direct

#include<stdio.h>
void main(){
   //Declaring variables and pointers//
   int a=10;
   int *p;
   p=&a;
   int **q;
   q=&p;
   //Printing required O/p//
   printf("Value of a is %d</p><p>",a);//10//
   printf("Address location of a is %d</p><p>",p);//address of a//
   printf("Value of p which is address location of a is %d</p><p>",*p);//10//
   printf("Address location of p is %d</p><p>",q);//address of p//
   printf("Value at address location q(which is address location of p) is %d</p><p>",*q);//address of a//
   printf("Value at address location p(which is address location of a) is %d</p><p>",**q);//10//
}

Sortie

Lorsque le programme ci-dessus est exécuté, les résultats suivants seront produits -

Value of a is 10
Address location of a is 6422036
Value of p which is address location of a is 10
Address location of p is 6422024
Value at address location q(which is address location of p) is 6422036
Value at address location p(which is address location of a) is 10

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer