Können Qualifizierer die Signatur von „main“ in C schmücken?
Der Standard schreibt vor, dass „main“ zwei akzeptable Signaturen hat:
Es stellt sich jedoch die Frage: Kann die Signatur so geändert werden, dass sie Qualifikationsmerkmale enthält? ? Zum Beispiel:
<code class="cpp">int main(const unsigned int, const char* const* argv);</code>
Antwort:
Gemäß dem C 98-Standard (Abschnitt 3.6.1 Absatz 2) hat die Implementierung die Freiheit, den Typ zu definieren von „main“ über den obligatorischen Rückgabetyp von „int“ hinaus. Dazu gehört auch die Erlaubnis zur Verwendung von Qualifizierern. Obwohl der Standard daher die Akzeptanz eines „env-akzeptierenden“ Mains nicht ausdrücklich vorschreibt, liegt dies im Bereich der Zulässigkeit.
Klarstellung:
Der Standard unterscheidet zwischen eine Standardumgebung und eine freistehende Umgebung. In einer freistehenden Umgebung unterliegt das Verhalten von „main“ nicht der Norm, sondern muss dokumentiert werden. Daher kann die Zulässigkeit von Qualifikationsmerkmalen in der Signatur von „main“ in freistehenden Kontexten variieren.
Das obige ist der detaillierte Inhalt vonKönnen Sie Qualifizierer zur „Haupt'-Funktionssignatur in C hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!