un (peut-être théorique) raison pas utiliser //
commentaires est qu'ils ne sont pas pris en charge par C90. Il est vrai que la plupart, peut-être tous les compilateurs C modernes prennent en charge les commentaires //
, même s'ils ne prennent pas en charge le reste de C99, mais différents compilateurs prennent en charge différents sous-ensembles de C99.
Tout compilateur prenant en charge le C90 rejettera (ou au moins avertira) les commentaires //
si vous l'invoquez dans un mode conforme C90.
Si vous êtes fanatique de la portabilité et que vous voulez vous assurer que votre code sera compilé avec n'importe quel compilateur C, vous devez le compiler en mode conforme C90 - ce qui signifie que //
commentaires seront rejetés. Vous pouvez activer les extensions ou partielle (ou même complète) C99 conformité, mais alors vous allez activer d'autres fonctionnalités C99 ainsi - et votre compilateur ne vous avertira pas à propos de autres fonctionnalités spécifiques C99 que vous pourriez utiliser accidentellement. Comme le remarque Andrew Grimm, certains projets pourraient avoir des normes de codage qui exigent une forme ou l'autre. Par exemple, gcc prend en charge les commentaires //
et long long
(ainsi qu'un certain nombre d'autres fonctionnalités C99); activer //
commentaires dans gcc désactive diagnostics pour long long
.
Mais dans la plupart des cas, ce n'est probablement pas une raison suffisante pour éviter les commentaires //
. Vous pouvez écrire du code raisonnablement portable si vous savez quelles fonctionnalités sont spécifiques à C99, quels compilateurs prennent en charge ces fonctionnalités et quels compilateurs vous souhaitez prendre en charge.
Je ne programme pas en C, mais je pense que certains projets open source (tels que la version MRI de l'interpréteur Ruby) ne permettent que la première. Si vous envisagez de contribuer à eux, vous pouvez aussi prendre l'habitude d'ajuster leur préférence. –