Comprendre les expressions de pointeur : ptr, ptr et *ptr
En programmation C, ces trois expressions sont généralement utilisé pour manipuler les pointeurs et les valeurs vers lesquelles ils pointent. Comprendre leur comportement est crucial pour travailler efficacement avec les pointeurs.
1. *ptr
- Cette expression déréférence d'abord le pointeur, renvoyant la valeur vers laquelle il pointe.
-
Ensuite, elle incrémente le pointeur d'une unité, en le pointant vers l'élément suivant du tableau ou le caractère suivant du string.
- Par exemple, si ptr pointe vers le premier élément d'un tableau, *ptr renverra la valeur de cet élément puis incrémentera ptr pour pointer vers le deuxième élément.
2. * ptr
- Contrairement à l'expression précédente, celle-ci incrémente d'abord le pointeur d'une unité.
-
Ensuite, elle déréférence le pointeur , renvoyant la valeur vers laquelle pointe maintenant le pointeur.
- Ceci est utile lorsque vous devez accéder au valeur de l'élément suivant sans déréférencer le pointeur actuel.
3. *ptr
-
Cette expression incrémente directement la valeur à l'emplacement pointé par ptr.
- Elle déréférence le pointeur, renvoyant la valeur vers laquelle il pointe.
-
Ensuite, il incrémente le value d'une unité.
- Ceci peut être utilisé pour modifier la valeur pointée par ptr.
Exemples :
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr;
printf("%d ", *ptr++); // Prints 1 and increments ptr to the second element
printf("%d ", *++ptr); // Increments ptr to the third element and prints 3
printf("%d\n", ++*ptr); // Increments the value at the third element and prints 4
Sortie :
1 3 4
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:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn