logo

const Pointeur en C

Pointeurs constants

Un pointeur constant en C ne peut pas changer l'adresse de la variable vers laquelle il pointe, c'est-à-dire que l'adresse restera constante. Par conséquent, nous pouvons dire que si un pointeur constant pointe vers une variable, il ne peut pointer vers une autre variable.

Syntaxe du pointeur constant

 *const ; 

La déclaration d'un pointeur constant est donnée ci-dessous :

 int *const ptr; 

Comprenons le pointeur constant à travers un exemple.

 #include int main() { int a=1; int b=2; int *const ptr; ptr=&a; ptr=&b; printf('Value of ptr is :%d',*ptr); return 0; } 

Dans le code ci-dessus :

fichier de modification Linux
  • Nous déclarons deux variables, c'est-à-dire a et b avec respectivement les valeurs 1 et 2.
  • Nous déclarons un pointeur constant.
  • Tout d’abord, nous attribuons l’adresse de la variable « a » au pointeur « ptr ».
  • Ensuite, nous attribuons l'adresse de la variable 'b' au pointeur 'ptr'.
  • Enfin, nous essayons d'imprimer la valeur de la variable pointée par le 'ptr'.

Sortir

const Pointeur en C

Dans la sortie ci-dessus, nous pouvons observer que le code ci-dessus produit l'erreur « affectation de la variable en lecture seule « ptr ». Cela signifie que la valeur de la variable 'ptr' que 'ptr' contient ne peut pas être modifiée. Dans le code ci-dessus, nous modifions la valeur de « ptr » de &a à &b, ce qui n'est pas possible avec des pointeurs constants. Par conséquent, nous pouvons dire qu’un pointeur constant qui pointe vers une variable ne peut pas pointer vers une autre variable.

Pointeur vers une constante

Un pointeur vers une constante est un pointeur par lequel la valeur de la variable pointée par le pointeur ne peut pas être modifiée. L'adresse de ces pointeurs peut être modifiée, mais la valeur de la variable pointée par le pointeur ne peut pas être modifiée.

java fin de la boucle

Syntaxe du pointeur vers une constante

 const * 

La déclaration d'un pointeur vers une constante est donnée ci-dessous :

 const int* ptr; 

Comprenons à travers un exemple.

    Tout d’abord, nous écrivons le code dans lequel nous modifions la valeur d’un pointeur
 #include int main() { int a=100; int b=200; const int* ptr; ptr=&a; ptr=&b; printf('Value of ptr is :%u',ptr); return 0; } 

Dans le code ci-dessus :

  • Nous déclarons deux variables, c'est-à-dire a et b avec les valeurs 100 et 200 respectivement.
  • Nous déclarons un pointeur vers une constante.
  • Tout d’abord, nous attribuons l’adresse de la variable « a » au pointeur « ptr ».
  • Ensuite, nous attribuons l'adresse de la variable 'b' au pointeur 'ptr'.
  • Enfin, nous essayons d'imprimer la valeur de 'ptr'.

Sortir

const Pointeur en C

Le code ci-dessus s'exécute avec succès et affiche la valeur de « ptr » dans la sortie.

Qu'est-ce que l'internet
  • Maintenant, nous écrivons le code dans lequel nous modifions la valeur de la variable vers laquelle pointe le pointeur.
 #include int main() { int a=100; int b=200; const int* ptr; ptr=&b; *ptr=300; printf('Value of ptr is :%d',*ptr); return 0; } 

Dans le code ci-dessus :

  • Nous déclarons deux variables, c'est-à-dire « a » et « b » avec les valeurs 100 et 200 respectivement.
  • Nous déclarons un pointeur vers une constante.
  • Nous attribuons l'adresse de la variable 'b' au pointeur 'ptr'.
  • Ensuite, on essaie de modifier la valeur de la variable 'b' via le pointeur 'ptr'.
  • Enfin, nous essayons d'imprimer la valeur de la variable pointée par le pointeur 'ptr'.

Sortir

const Pointeur en C

Le code ci-dessus montre l'erreur « attribution d'un emplacement en lecture seule '*ptr''. Cette erreur signifie que nous ne pouvons pas modifier la valeur de la variable vers laquelle pointe le pointeur.

Pointeur constant vers une constante

Un pointeur constant vers une constante est un pointeur, qui est une combinaison des deux pointeurs ci-dessus. Il ne peut ni changer l'adresse de la variable vers laquelle il pointe, ni changer la valeur placée à cette adresse.

Syntaxe

 const * const ; 

La déclaration pour un pointeur constant vers une constante est donnée ci-dessous :

 const int* const ptr; 

Comprenons à travers un exemple.

lecteur multimédia vlc télécharger youtube
 #include int main() { int a=10; int b=90; const int* const ptr=&a; *ptr=12; ptr=&b; printf('Value of ptr is :%d',*ptr); return 0; } 

Dans le code ci-dessus :

  • Nous déclarons deux variables, c'est-à-dire « a » et « b » avec les valeurs 10 et 90, respectivement.
  • Nous déclarons un pointeur constant vers une constante, puis attribuons l'adresse de « a ».
  • Nous essayons de changer la valeur de la variable 'a' via le pointeur 'ptr'.
  • Ensuite, nous essayons d'attribuer l'adresse de la variable 'b' au pointeur 'ptr'.
  • Enfin, nous imprimons la valeur de la variable, qui est pointée par le pointeur 'ptr'.

Sortir

const Pointeur en C

Le code ci-dessus montre l'erreur « affectation de l'emplacement en lecture seule « *ptr » et « affectation de la variable en lecture seule « ptr ». Par conséquent, nous concluons qu'un pointeur constant vers une constante ne peut modifier ni l'adresse ni la valeur pointée par ce pointeur.