main函式的引數(一)

2022-09-12 18:09:09 字數 1132 閱讀 7044

(以下**全都在linux gcc上執行)

在c語言程式設計中,函式非常常見。main()也是一種函式,而且c程式總是從main函式開始執行。為什麼呢?

來看《unix環境高階程式設計》中的一段話:

核心執行c程式時,在呼叫main前先呼叫乙個特殊的啟動例程。可執行程式檔案將此啟動例程指定為程式的起始位址—這是由連線編輯器設定的,而連線編輯器則由c編譯器呼叫。

看不懂的話,首先記住main()是程式執行的入口就行了。

許多函式都是有返回值,有引數的。比如:

int func(int a);

那麼,main函式有沒有引數呢,許多時候我們都是把它當做無引數函式來使用的。

#includeint main()

這是我們大多數人入手的第乙個函式,這樣子寫是完全可以的,沒有錯誤,可以執行。

但是,其實main()函式更其它函式一樣也都是有爹有媽(引數)的。因為它也是乙個函式啊!

main函式的原型是:

int main(int argc,char *ar**)或者int main(int argc,char**ar**)

其中,argc是命令列引數的個數,ar**是指向引數的各個指標所構成的陣列。一言以避之,就是argc表示引數的個數包括執行檔名;而ar**來存放引數。這樣有可能不直觀,讓我們來看一段**:

#include#include#includeint main(int argc,char* ar**)

{ int i=0;

for(i=0;i

輸入:./hello

輸出:ar**[0]: ./hello

這就說明當在命令列只輸入:./hello這乙個引數時,argc為1。並且./hello儲存在ar**[0]中,這裡就可以看出ar**就相當於乙個二維陣列。

當在命令列多輸入幾個引數時:

輸入:./hello hello1 hello2 hello3

輸出:ar**[0]: ./hello

ar**[1]: hello1

ar**[2]: hello2

ar**[3]: hello3

現在應該就明了了,但這只是乙個初步的了解,關於它還會有更深入的應用。後面在**中遇到再看吧。

main函式的引數(一)

以下 全都在linux gcc上執行 在c語言程式設計中,函式非常常見。main 也是一種函式,而且c程式總是從main函式開始執行。為什麼呢?來看 unix環境高階程式設計 中的一段話 核心執行c程式時,在呼叫main前先呼叫乙個特殊的啟動例程。可執行程式檔案將此啟動例程指定為程式的起始位址 這是...

main函式的引數

c程式最大的特點就是所有的程式都是用函式來裝配的。main 稱之為主函式,是所有程 序執行的入口。其餘函式分為有參或無參兩種,均由main 函式或其它一般函式呼叫,若呼叫 的是有參函式,則引數在呼叫時傳遞。main f1 int a,int b f2 int m,int n 在前面課程的學習中,對m...

main函式的引數

main函式可以不帶引數,也可以帶引數,這個引數可以認為是 main函式的形式引數。c語言規定main函式的引數只能有兩個,習慣上這兩個引數寫為argc和argv。因此,main函式的函式頭可寫為 main argc,argv c語言還規定argc 第乙個形參 必須是整型變數,argv 第二個形參 ...