C 的 main 函數參數可以使用 Unsigned 和 Const 限定符嗎?
C 標準明確為main 定義了兩個有效簽章function:
但是,問題來了:這些簽名可以嗎修改為包含unsigned 和const 等限定符?
解析:
C 98 標準規定 main 函數不能重載,必須傳回整數(int)型別。雖然它沒有明確解決參數中限定符的使用,但它允許實現定義超出標準的其他行為。
結論:
根據標準,以下簽名是合法並且應該被一致的編譯器接受:
int main(const unsigned int, const char* const* argv);
並且應該被一致的編譯器接受:
並且應該被一致的編譯器接受:
並且應該被一致的編譯器接受:
並且應該被一致的編譯器接受:這是因為只要回傳類型保持不變,標準允許透過實作定義額外的簽章int.其他資訊:需要注意的是,雖然C 標準將上述兩個簽名定義為有效,但它不需要實作來支援它們。在獨立環境中,啟動和終止行為是實現定義的,並且該標準免除了這些環境除了記錄其行為之外的任何要求。以上是您可以使用 C 中的「unsigned」和「const」等限定符來修改「main」函數的參數嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!