Anpassen der Argumente von main in C
Die Standardsignaturen für main in C sind bekannt: int main() und int main (int, char*[]). Es stellt sich jedoch die Frage:
Können die Argumente von main mit Qualifikationsmerkmalen wie unsigned und const geändert werden?
Meine Tests zeigen „Ja“, aber es bestehen weiterhin Bedenken hinsichtlich einer möglichen Überlastung oder Verletzung von C-Normen.
Gemäß der C 98-Norm (Abschnitt 3.6.1 Absatz 2) ist eine Überlastung der Hauptleitung verboten. Der Standard gibt ausdrücklich an, dass main den Rückgabetyp int haben muss, seine anderen Aspekte sind jedoch durch die Implementierung definiert.
Bemerkenswerterweise verbietet der Standard nicht die Verwendung von Argumenten mit Qualifikationsmerkmalen wie unsigned und const. Obwohl es im Standard nicht vorgeschrieben ist, ist es für Implementierungen zulässig, diese Änderungen zu akzeptieren.
Freistehende Umgebungen, in denen das Start- und Beendigungsverhalten durch die Implementierung definiert ist, sind von diesen Regeln ausgenommen und die Dokumentation kann bestimmte Verhaltensweisen detailliert beschreiben.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3