Heim  >  Artikel  >  Backend-Entwicklung  >  Können „Haupt“-Argumente in C mit „unsigned“ und „const“ geändert werden?

Können „Haupt“-Argumente in C mit „unsigned“ und „const“ geändert werden?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-28 19:51:02471Durchsuche

Can `main` Arguments in C   Be Modified with `unsigned` and `const`?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn