2011-11-05 102 views

回答

9

定義的這兩種形式都是有效的(無void所述一個是無效原型不完整的(儘管有效)聲明)。

表格int main(void) { /* whetever */ }也提供了該功能的原型。
表格int main() { /* whatever */ }不提供原型(並且編譯器無法檢查它是否被正確調用)。

the Standard (PDF)

6.7.5.3/14

空列表的函數聲明那就是功能SPECI科幻ES的去網絡nition的一部分,該函數沒有參數。和int main() { /* whatever */ }
聲明

差之間定義int main();
原型int main(void);

定義不提供原型;
聲明有效,但未指定有關參數數量或類型的信息;
原型沒問題並且與定義兼容。