Meilleure réponse
Eh bien, il ny a rien comme:
int p*;
Cest une instruction invalide. Vous obtiendrez une erreur de compilation avec ce code.
Dun autre côté, int * p et int * p sont fondamentalement les mêmes. Ce nest quune question de style. En ce qui concerne le compilateur C / C ++, peu importe que vous écriviez int * p ou int * p. Ainsi, si vous préférez associer le * au type plutôt quà la variable, nhésitez pas à le faire.
Mais un point important à noter:
La déclaration suivante en crée une non deux pointeurs entiers:
int* a,b;
Ici b est déclaré comme entier, où comme a est un pointeur entier. Cette déclaration:
int *a,*b;
déclare a et b comme des pointeurs entiers.
Réponse
Int p *: non encore vu Int * p: comme ici le * est attaché à p, donc seul p sera un pointeur vers un entier. si vous déclarez une autre variable après p séparée par un point-virgule, cela ne sera pas un pointeur. Cest à dire. int * p, q. Ici, p sera un pointeur vers un entier mais q sera une variable int normale et non un pointeur.
Le cas Int * p, q fonctionne de la même manière que Int * p, q. Les deux déclarations déclarent p comme un pointeur entier et q comme un entier normal. Int * p, q est un type de déclaration qui finit par dérouter les programmeurs.