En C, y a-t-il une différence entre les trois pointeurs suivants «int * char», «int * char» et «int * char»?


Réponse 1:

Merci pour l'A2A.

Il y a déjà 2 bonnes réponses; comme l'a dit Kevin, le compilateur ne se soucie pas où mettre des espaces autour du '*', et comme l'a dit Radu, char est un type intégré, vous ne pouvez donc pas l'utiliser comme nom de variable. J'ignore désormais l'erreur de syntaxe.

Je ne vois pas le premier style dans le code, c'est généralement le deuxième ou le troisième. Quel est le "meilleur"? Eh bien, un argument peut être avancé en faveur de l'un ou l'autre, et les gens peuvent commencer des guerres "religieuses" sur cette question insignifiante, tout comme pour les accolades. Ne t'embête pas. Choisissez-en un, utilisez-le régulièrement; si la convention établie dans votre équipe (normes de codage ou convention non formalisée, même tacite) dit d'en utiliser une, faites-le. Peu importe, essayez d'être cohérent.

Mais voici un bon conseil: lorsque vous déclarez / définissez des pointeurs, un pour chaque ligne. Sinon, une confusion pourrait survenir concernant laquelle des variables est un pointeur et laquelle ne l'est pas. C'est aussi plus joli / plus lisible, car vous initialiserez vos pointeurs ... non? ;-)