C/C++ 中的“int main()”和“int main(void)”的區別?


有時我們看到主函式定義有兩種型別。int main() 和 int main(void)。那麼有什麼區別嗎?

在 C++ 中,沒有區別。在 C 中兩者也是正確的。但第二個在技術上更好。它指定函式不接受任何引數。在 C 中,如果某個函式沒有指定引數,那麼它可以使用無引數或任意數量的引數來呼叫。請檢查這兩個程式碼。(請記住這些程式碼是用 C 編寫的,而不是 C++)

示例

#include<stdio.h>
void my_function() {
   //some task
}
main(void) {
   my_function(10, "Hello", "World");
}

輸出

This program will be compiled successfully

示例

#include<stdio.h>
void my_function(void) {
   //some task
}
main(void) {
   my_function(10, "Hello", "World");
}

輸出

[Error] too many arguments to function 'my_function'

在 C++ 中,兩個程式都會失敗。由此我們可以理解,在 C 中 int main() 可以使用任意數量的引數來呼叫。而 int main(void) 則不允許使用任何引數。

更新於: 2019 年 7 月 30 日

3K+ 瀏覽

職業生涯起步

完成課程,獲得認證

開始學習
廣告
© . All rights reserved.