Je suis assez nouveau chez C et je ne connais pas la différence entre les deux déclarations variables suivantes: Je pense que dans la déclaration Je ne sais pas si ça Est-ce cependant. p> Quel est le concept derrière les deux déclarations? p> p> int * pTR; code>,
ptr code> S ne peut pas être modifié, tandis que cela peut être modifié pour la déclaration,
int * ptr; code> p>
5 Réponses :
au compilateur, il n'y a pas de différence entre les deux déclarations.
au lecteur humain, le premier peut impliquer que le type "INT *" s'applique à toutes les déclarations de la même déclaration. Cependant, le * ne lie que l'identifiant suivant. p>
Par exemple, les deux états suivants ne déclarent qu'un seul pointeur. p> Cette instruction déclare plusieurs pointeurs, ce qui empêche l'utilisation de l'espacement "INT *" . P> int *ptr1, *ptr2, *ptr3;
Les espaces en C sont surtout insignifiants. Il y a des cas occasionnels où les espaces sont importants, mais ceux-ci sont rares entre eux. Les deux exemples que vous avez postés sont équivalents. P>
Comme les autres ont dit. Il n'y a pas de différence. Si vous souhaitez comprendre la déclaration de type C plus complexe, vous pouvez trouver ce lien utile. lecture de déclarations C . P>
C'est ce qu'on appelle la surcharge de l'opérateur WhitSpace, voir ici: http: //www2.research. Att.com/~bs/whitSpace98.pdf P>
Je sais que cela a été posté il y a un an, mais ce lien est vraiment génial! Merci
int * p; code>
Il n'y a pas de sens pour le compilateur, (int *) est un type de pointeur nommé code>. p> p>
Dupliqué possible de C: Y a-t-il une différence entre "int * foobar;" et "int * foobar;"? et différence entre int * i et int * i , Différence entre INT * P et INT * P Déclaration avec au moins une douzaine d'autres.
Stackoverflow.com/questions/3770187 / ...