首頁  >  文章  >  後端開發  >  c語言有且唯一的函數是什麼?

c語言有且唯一的函數是什麼?

烟雨青岚
烟雨青岚原創
2020-07-06 17:16:214068瀏覽

在c語言中有且唯一的函數是:「main」函數。 「main」函數,又稱主函數,是程式執行的起點;如果有其他函數,則會完成對其他函數的呼叫後再返回主函數,最後由「main」函數結束整個程式。

c語言有且唯一的函數是什麼?

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語言

以上是c語言有且唯一的函數是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn