Maison  >  Article  >  développement back-end  >  Est-ce que `int main(const unsigned int, const char* const* argv);` est une signature valide pour la fonction principale de C ?

Est-ce que `int main(const unsigned int, const char* const* argv);` est une signature valide pour la fonction principale de C ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-31 20:36:02381parcourir

Is `int main(const unsigned int, const char* const* argv);` a Valid Signature for C  's Main Function?

Validité des qualificatifs d'arguments spécialisés pour la fonction principale de C

La norme définit deux signatures valides pour la fonction principale :

<code class="cpp">int main();
int main(int, char*[]);</code>

Ce L'article examine si la signature suivante serait légalement acceptée :

<code class="cpp">int main(const unsigned int, const char* const* argv);</code>

Considération de surcharge

La question se pose de savoir si la modification des types d'arguments pour inclure des qualificatifs non signés et const modifie la identité du principal, violant ainsi l'interdiction de surcharge de la norme.

Interprétation standard

La norme C 98 stipule que le principal :

  • Doit avoir un type de retour de type int.
  • Ne doit pas être surchargé.
  • Autorise les deux signatures fournies.
  • L'implémentation définit ses autres types de paramètres.

Disponibilité du compilateur

Bien que la norme n'exige pas que les implémentations acceptent les environnements acceptant cette signature principale spécialisée, elle leur permet de le faire.

Conclusion

Par conséquent, la signature modifiée, int main(const unsigned int, const char* const* argv), est considérée comme une variante valide de main par les compilateurs conformes, démontrant la flexibilité de la norme pour s'adapter à l'implémentation. -aspects spécifiques de sa mise en œuvre.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn