Maison > Article > développement back-end > Que signifie le langage C *p++ ?
[*p++] signifie retirer d'abord les données dans l'unité d'adresse pointée par le pointeur p, puis ajouter 1 à la valeur puisque l'opérateur [*] a une priorité plus élevée que l'opérateur [. ++], Par conséquent, les données de l'unité d'adresse pointée par le pointeur p sont d'abord prises, puis les données de l'emplacement suivant pointé par p sont prises.
*p++
signifie retirer d'abord les données dans l'unité d'adresse pointée par le pointeur p, puis ajouter 1 à la valeur En raison du. priorité de l'opérateur * Supérieure à l'opérateur ++, donc les données dans l'unité d'adresse pointée par le pointeur p sont d'abord prises, puis p pointe vers les données de l'emplacement suivant. [Tutoriel recommandé : Tutoriel C++]
Étant donné que l'opérateur * a une priorité plus élevée que l'opérateur ++, les données dans l'unité d'adresse pointée par le pointeur p sont prises en premier. Les détails sont les suivants :
1. Obtenez la valeur de la position actuelle du tableau *p ;
2. Ensuite, p pointe vers les données à la position suivante.
Le schéma de fonctionnement du code est le suivant :
*p++ : * et ++ sont tous deux des opérateurs frères, associatifs de droite. Mais ++ n'est pas calculé tant que l'expression entière n'a pas été calculée. Commencez par extraire la valeur de l'objet pointé par P, puis effectuez l'opération ++ sur P pour pointer vers l'objet suivant.
* (P++) : Ceci () est un peu déroutant. ++ doit être incrémenté une fois que l'expression entière a été calculée, donc comme ci-dessus, la valeur de l'objet pointée par P est toujours extraite. Après extraction, P pointe vers le bas.
(*p)++ : C'est différent. Ils obtiennent d'abord la valeur, puis la valeur est ++
++*p : Ils obtiennent la valeur en premier, puis ; la valeur est +. +;
Pourquoi certaines sont des valeurs et d'autres des adresses c'est la fonction des parenthèses, qui les lient dans leur ensemble ? Regardez également la combinaison.
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!