Maison >développement back-end >C++ >Déclaration de pointeur C/C : `char* p;` vs `char *p;` – Quelle est la différence ?
Déclaration de variables de pointeur en C/C : Clarification de la syntaxe
Dans le domaine des pointeurs en C et C, il existe une variation syntaxique mineure cela a suscité un débat : le placement de l'astérisque (*) dans les déclarations de pointeur. Certains programmeurs optent pour la notation (a) :
char* p;
tandis que d'autres préfèrent (b) :
char *p;
Quelle est la justification de ces deux notations distinctes ?
Bjarne Stroustrup, le créateur de C , fait la lumière sur cette question. Il explique que le choix ne dépend pas de l'exactitude mais des préférences stylistiques et de l'accent mis sur la programmation.
En C, les expressions avaient préséance sur les déclarations, qui étaient souvent considérées comme moins importantes. Cependant, C met fortement l'accent sur les types.
Les adeptes du style de programmation C privilégient la notation (a), arguant que "*p" représente la valeur déréférencée du pointeur, s'alignant sur la structure syntaxique du C langage.
Pendant ce temps, les partisans du style de programmation C préfèrent la notation (b), mettant l'accent sur le type de la variable de pointeur elle-même. Le type de "p" dans la notation (b) est explicitement identifié comme "int*", soulignant son rôle de pointeur vers un entier.
Du point de vue de la lisibilité, la notation (b) apparaît plus cohérente, notamment lors de la déclaration de plusieurs pointeurs sur une seule ligne. Placer l'astérisque avec la variable, comme dans "char c, d", correspond à l'intuition selon laquelle "c" et "d" sont tous deux des pointeurs vers des caractères.
En fin de compte, la décision entre la notation (a) et (b) est une question de préférence personnelle. Cependant, étant donné la prévalence croissante du C et l'accent mis sur les types, la notation (b) est généralement recommandée pour améliorer la clarté et la lisibilité de votre code.
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!