Pointeurs en c

Pointeurs en c
Les pointeurs sont le sujet le plus important du langage de programmation C. Dans l'allocation de la mémoire, chaque bloc où les données sont stockées est capable de stocker 1 octet d'information. Le pointeur est la variable qui nous permet de stocker l'adresse des variables auxquelles nous voulons pointer. La valeur des pointeurs elle-même peut être changée pour pointer vers différents endroits de mémoire, ce qui est puissant lorsque nous pointez vers un tableau parce que nous savons que les éléments de tableau intérieur sont à côté les uns des autres. Ainsi, nous pouvons déplacer le pointeur d'un élément à l'élément suivant en se déplaçant simplement dans la mémoire.

Chaque fois qu'une variable est déclarée, l'emplacement de la mémoire est automatiquement alloué par défaut, qui est utilisé pour maintenir la valeur qui lui est attribuée. L'emplacement qui est affecté à la variable a une adresse prédéfinie qui ne peut être accessible qu'en utilisant les pointeurs.

Syntaxe
$ type * Nom de variable;

La syntaxe de la déclaration du pointeur est un peu différente de la déclaration d'une variable car, tout en utilisant des pointeurs, nous avons les deux capacités pour accéder à l'adresse ainsi que la valeur de la variable. Dans la déclaration de pointeurs, le mot-clé «*» est utilisé, ce qui indique que nous pointons la variable «xyz». Dans la syntaxe donnée, le type est le type de données de la variable du pointeur que nous allons définir et le «nom de variable» est la variable qui doit être pointée.

Supposons que nous ayons créé une variable «var» dont la valeur est située dans l'adresse «3E97B57C».

Int var = 2;
Int * ptr;
ptr =&var;

Maintenant, en définissant une variable de pointeur «PTR», le pointeur est défini à l'aide de l'opérateur Asterisk «*». Le mot technique utilisé pour cet opérateur déréférence. Pour pointer de l'adresse de la variable à laquelle nous devons accéder, nous utiliserons le mot-clé ampère et «&».

Comme le montre la figure suivante, Pointer PTR contient l'adresse de la variable «var».

Exemple 1:
Dans cet exemple, nous implémentons notre pointeur à travers lequel nous afficherons l'adresse de la variable ainsi que la valeur variable. Pour implémenter les pointeurs, nous inclurons d'abord notre fichier d'en-tête «STdio.h ”et sachez que le« stdio.H ”est un fichier d'en-tête qui nous permet d'effectuer les opérations d'entrée-sortie en C. Maintenant, passant à notre fonction principale (), nous utilisons nos pointeurs.

#inclure
Int main()

int var = 10;
int * ptr;
ptr =&var;
printf («L'adresse de la variable var est:% x \ n», ptr);
printf («La valeur de la variable var est:% x \ n», * ptr);
retour (0):

Dans la fonction principale (), nous déclarerons d'abord une variable nommée «var» et lui attribuerons une valeur de «10». Maintenant, «var» détient une valeur de «10». Ensuite, nous déclarerons un pointeur de type entier, le nommant «PTR». Pour attribuer l'adresse de la variable «var» au pointeur, nous utiliserons l'ampersand «&». L'AmperSand «&» est appelé l'opérateur de référence utilisé pour créer le pointeur ou l'adresse des informations stockées dans un emplacement de mémoire.

Maintenant, le pointeur est chargé de maintenir l'adresse de la variable «var». Dans la déclaration printf,% D désigne les valeurs décimales et% x représente que nous voulons que les nombres sortent en hexadécimal, ce qui est un peu plus facile à lire. Nous imprimons l'adresse de la variable qui est «3E97B57C». Dans la deuxième instruction PRINT, nous imprimons la valeur de la variable «var» en utilisant le pointeur «PTR». Maintenant, comme nous pouvons le voir dans la première déclaration, nous appelons simplement le «PTR» sans l'astérisque «*» qui nous permet d'imprimer l'adresse de la variable.

Comme nous l'avons discuté dans l'introduction, les pointeurs détiennent l'adresse des informations stockées dans la mémoire. D'un autre côté, lorsque nous affichons la valeur de la variable qui est stockée dans notre mémoire, nous appelons le pointeur à l'aide de l'astérisque «*».

Comme indiqué dans la capture d'écran suivante, nous pouvons voir la sortie des deux instructions d'impression. Le premier imprime l'adresse tandis que le second imprime la valeur d'une variable.

Exemple 2:
Dans le code suivant, nous modifierons la valeur d'une variable à l'aide de pointeurs. Comme nous le savons, les pointeurs sont la partie la plus importante de la langue C. En les utilisant, nous pouvons réduire le temps et la complexité du code et nous permet de gérer les données illimitées.

#inclure
int main()

int myvar = 23;
int * myptr;
myptr = &myvar;
printf ("Adresse de myvar =% p \ n", myptr);
printf ("valeur de myvar =% d \ n", * myptr);
* myptr = 10;
printf ("La valeur mise à jour de MyVar à l'aide du pointeur est% d", * myptr);

Après avoir inclus les fichiers d'en-tête, nous passerons dans notre fonction principale où nous initialisons la variable nommée «Myvar» qui est responsable de la maintenance de la valeur «23». Et maintenant, l'initialisation d'un pointeur de type entier qui est «myptr» pointe vers l'adresse de la variable que nous déclarons dans la ligne supérieure. Maintenant, dans notre prochaine étape, nous attribuons l'adresse de la variable «myvar» qui est stockée en mémoire ayant la valeur «23». Pour ce faire, nous utilisons le mot-clé Ampersand «&» comme nous l'avons discuté dans l'exemple précédent qu'AmperSand est utilisé pour créer le pointeur ou l'adresse de la variable qui est stockée dans une mémoire.

Après avoir attribué l'adresse au pointeur, nous appelons l'instruction printf () pour imprimer la valeur myvar ainsi que son adresse. Maintenant, pour mettre à jour la valeur à l'adresse spécifiée de la variable, nous utilisons un pointeur pour mettre à jour sa valeur. Pour ce faire, nous appelons l'adresse du pointeur en utilisant le nom de pointeur Asterisk «*» qui est «myptr». Ensuite, attribuez-le la valeur «10» dans notre cas. Ensuite, nous imprimons la valeur en passant le pointeur mis à jour à l'instruction printf ().

Comme affiché dans l'extrait suivant, l'adresse de la variable est accessible à l'aide d'un pointeur et la valeur est stockée à cette adresse. Enfin, nous affichons la valeur mise à jour de cette variable.

Conclusion

Dans ce guide, nous avons brièvement discuté des pointeurs du langage C et des méthodes pour les mettre en œuvre. Nous avons fait de notre mieux pour expliquer la mise en œuvre des pointeurs et comment les utiliser efficacement dans le langage C en les définissant en utilisant des exemples. Le pointeur est utile pour réduire la taille du code et est également utilisé pour améliorer les performances d'énormes programmes. Vous pouvez également utiliser des pointeurs pour effectuer les différentes tâches comme les opérations arithmétiques, la mise à jour des données, etc.