Déclaration de variable de pointeur en C/C : Comprendre les styles
La déclaration de variables de pointeur en C/C a suscité un débat sur deux notations :
(a) char* p;
(b) char *p;
Les deux styles sont valides, mais le choix reflète différentes perspectives et accents de programmation.
Style (a) : accent sur les expressions
Ce style traite la variable de pointeur (par exemple, p) comme une seule entité, où l'astérisque (*) fait partie de la déclaration de nom. D'un point de vue syntaxique, l'astérisque se lie au nom p et indique le type de la variable (par exemple, un pointeur vers un caractère). Cette approche s'aligne sur la perspective C traditionnelle, qui met l'accent sur les expressions et considère les déclarations comme une formalité nécessaire.
Style (b) : Accent sur les types
En revanche, le style (b) met davantage l’accent sur les types. Il considère l'astérisque (*) comme faisant partie de la spécification de type (par exemple, un pointeur vers un caractère). Ce style est plus conforme au paradigme de programmation C, qui met fortement l'accent sur les types et les principes orientés objet.
Perspective de Bjarne Stroustrup
Bjarne Stroustrup, le créateur de C , préconise ce dernier style (int p;) en raison de sa clarté dans la spécification du type de variable (int*). Il souligne que cette approche correspond mieux aux fonctionnalités avancées de C.
Considérations contextuelles
Lors de la déclaration de plusieurs variables de pointeur sur une seule ligne, en utilisant l'astérisque avec la variable le nom (style (a)) peut prêter à confusion. Par exemple :
char c, d;
Dans ce cas, il peut être moins clair que c et d sont tous deux des pointeurs vers des caractères . L'utilisation de l'astérisque avec la spécification de type (style (b)) résout cette ambiguïté :
char c, d;
Conclusion
Le choix entre le style (a) et le style (b) est en fin de compte une question de préférence personnelle et de philosophie de programmation. Le style (a) peut être plus intuitif pour ceux qui viennent d'un milieu C, tandis que le style (b) est plus aligné sur l'approche centrée sur le type de C.
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!