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.
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 :
*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.
(*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!