Les différences entre *p+1 et *(p+1) sont : 1. Des priorités différentes dans p+1, p sera déréférencé en premier, tandis que dans *(p+1), p. sera déréférencé en premier. Calculez d'abord p+1 ; 2. Les objets d'opération sont différents, p+1 déréférence en premier, tandis que (p+1) ajoute 1 à p en premier. valeur de l'objet pointé par p. Ajoutez 1, (p+1) est la valeur du prochain objet pointé par p.
L'environnement d'exploitation de ce tutoriel : système Windows 10, ordinateur DELL G3.
Quelle est la différence entre *p+1 et *(p+1) ? Je pense que de nombreux internautes ne le comprennent toujours pas. Aujourd'hui, l'éditeur vous propose des tutoriels pertinents, dans l'espoir de vous aider.
1. Différentes priorités
p+1 et (p+1) Différences en priorité opérationnelle. En C/C++, les opérateurs (opérateur de déréférencement) et + (opérateur d'addition) ont des priorités différentes. L'opérateur d'addition a une priorité inférieure à l'opérateur de déréférencement. Par conséquent, dans p+1, p sera d'abord déréférencé, puis 1 sera ajouté ; dans *(p+1), car l'ajout de parenthèses change la priorité, p+1 sera d'abord calculé puis déréférencé.
2. Différents objets d'opération
Les objets des opérations p+1 et (p+1) sont également différents. p+1 déréférence d’abord p, obtient l’objet pointé par p, puis ajoute 1 à l’objet. Et (p+1) ajoute d’abord 1 à p pour pointer vers l’objet suivant, puis déréférence le nouvel objet.
3. Les résultats sont différents
Les résultats de p+1 et (p+1) sont différents. p+1 déréférence d'abord p et ajoute 1, donc le résultat est la valeur de l'objet pointé par p plus 1. Et (p+1) ajoute 1 à p puis le déréférence, donc le résultat est la valeur de l'objet suivant pointé par p.
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!