Les qualificatifs Unsigned et Const peuvent-ils être utilisés dans les arguments de fonction principaux de C ?
La norme C définit explicitement deux signatures valides pour le principal function:
Cependant, la question se pose : ces signatures peuvent-elles être modifié pour inclure des qualificatifs tels que unsigned et const ?
Analyse :
La norme C 98 stipule que la fonction principale ne peut pas être surchargée et doit renvoyer un entier (int) taper. Bien qu'il n'aborde pas explicitement l'utilisation de qualificatifs dans les arguments, il permet aux implémentations de définir des comportements supplémentaires au-delà de la norme.
Conclusion :
Selon la norme, la signature suivante est légale et doit être acceptée par les compilateurs conformes :
int main(const unsigned int, const char* const* argv);
En effet, la norme permet de définir des signatures supplémentaires par les implémentations, tant que le type de retour reste int.
Informations supplémentaires :
Il est important de noter que même si la norme C définit les deux signatures mentionnées comme valides, elle ne nécessite pas d'implémentations pour les prendre en charge. Dans les environnements autonomes, le comportement de démarrage et de terminaison est défini par l'implémentation, et la norme exempte ces environnements de toute exigence au-delà de la documentation de leur comportement.
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!