Quelle est la différence entre int * p et int p * et int * p?


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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *