Maison >Problème commun >Quelle est la différence entre *p++ et (*p)++

Quelle est la différence entre *p++ et (*p)++

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌original
2023-05-23 11:48:198789parcourir

La différence entre *p++ et (*p)++ est : 1. *p++ est une combinaison d'opérateurs d'incrémentation postfixe, (*p)++ est un opérateur d'incrémentation postfixe appliqué à l'expression *p 2. *p++ Le expression renvoie d'abord la valeur pointée par "p", puis incrémente "p". (*p)++ renvoie la valeur pointée par "p" puis incrémente cette valeur.

Quelle est la différence entre *p++ et (*p)++

Le système d'exploitation de ce tutoriel : système Windows 10, version C18, ordinateur Dell G3. La différence entre

*p++ et (*p)++

*p++ et (*p)++ sont deux expressions différentes :

  1. *p++ : Il s'agit d'une combinaison d'opérateurs d'incrémentation postfix . Tout d’abord, l’expression *p déréférencera le pointeur p et renverra la valeur pointée par le pointeur. Ensuite, le pointeur p est incrémenté et pointe vers l’élément suivant. Par conséquent, cette expression renvoie d’abord la valeur pointée par p, puis incrémente p.

  2. (*p)++ : Il s'agit d'un opérateur d'incrémentation suffixe appliqué aux expressions *p. Tout d'abord (*p) déréférence le pointeur p et renvoie la valeur pointée par le pointeur. Ensuite, la valeur est incrémentée. Par conséquent, cette expression renvoie d’abord la valeur pointée par p, puis incrémente cette valeur.

Voici un exemple de code pour illustrer la différence entre les deux :

#include <iostream>
int main() {
int arr[] = {1, 2, 3};
int* p = arr;
std::cout << *p++ << std::endl;    // 输出: 1
std::cout << *p << std::endl;      // 输出: 2
p = arr;
std::cout << (*p)++ << std::endl;  // 输出: 1
std::cout << *p << std::endl;      // 输出: 2
return 0;
}

Dans l'exemple ci-dessus, *p++ génère d'abord la valeur 1 pointée par p, puis incrémente p jusqu'à l'élément suivant, maintenant p Point à 2. Et (*p)++ génère d'abord la valeur pointée par p, 1, puis incrémente la valeur. Maintenant, la valeur pointée par p est 2. Cela montre la différence entre les deux.

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