(以下**全都在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 第二個形參 ...