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 spezifische Verhaltensweisen detailliert beschreiben.
Das obige ist der detaillierte Inhalt vonKönnen „Haupt'-Argumente in C mit „unsigned' und „const' geändert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!