您好,登錄后才能下訂單哦!
小編給大家分享一下c語言有且唯一的函數是哪個?,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
在c語言中有且唯一的函數是:“main”函數。“main”函數,又稱主函數,是程序執行的起點;如果有其他函數,則會完成對其他函數的調用后再返回到主函數,最后由“main”函數結束整個程序。
c語言有且唯一的函數是:main函數
main函數,又稱主函數,是程序執行的起點
程序執行總是從main函數開始,如果有有其他函數,則完成對其他函數的調用后再返回到主函數,最后由main函數結束整個程序。在執行程序時,由系統調用main函數 。
main 函數是在程序啟動中完成對具有靜態存儲期的非局部對象的初始化之后被調用的。它是程序在有宿主 (hosted)環境(亦即有操作系統)中所指定的入口點。自立程序(啟動加載器,操作系統內核,等等)的入口點則是由實現定義的。
主函數的兩個形參形式中的形參,允許從執行環境中傳遞任意的多字節字符串(它們通常被稱為命令行參數),各個指針 argv[1] .. argv[argc-1] 指向每個這些字符串的第一個字符。argv[0] 是指向一個表示用于執行該程序自身的名字的空結尾多字節字符串(或者當執行環境不支持時,為空字符串 "")的開頭字符的指針。
這些字符串是可以改動的,雖然對它們的改動并不會被傳回給執行環境:比如可以用 std::strtok 來使用它們。由 argv 所指向的數組的大小至少為 argc+1,其最后一個元素 argv[argc] 保證為一個空指針。
在最新的 C99 標準中,只有以下兩種定義方式是正確的:
int main( void ) /* 無參數形式 */ { ... return 0; }
int main( int argc, char *argv[] ) /* 帶參數形式 */ { ... return 0; }
int指明了main()函數的返回類型,函數名后面的圓括號一般包含傳遞給函數的信息。void表示沒有給函數傳遞參數。關于帶參數的形式,我們等會討論。
瀏覽老版本的C代碼,將會發現程序常常以。
main()
這種形式開始。C90標準允許這種形式,但是C99標準不允許。因此即使你當前的編譯器允許,也不要這么寫。
你還可能看到過另一種形式。
void main()
有些編譯器允許這種形式,但是還沒有任何標準考慮接受它。C++ 之父 Bjarne Stroustrup 在他的主頁上的 FAQ 中明確地表示:void main( ) 的定義從來就不存在于 C++ 或者 C 。所以,編譯器不必接受這種形式,并且很多編譯器也不允許這么寫。
堅持使用標準的意義在于:當你把程序從一個編譯器移到另一個編譯器時,照樣能正常運行。
看完了這篇文章,相信你對c語言有且唯一的函數是哪個?有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。