c語言中 main 函式的引數說明

2021-06-13 07:54:36 字數 1432 閱讀 4822

int argc,char *argv 

agrc表示引數的個數

argv儲存引數

這個函式的意思是逐一輸出引數

實際上,main函式也可以帶引數。帶引數main函式的定義格式如下:

void main(int argc, char *argv)

argc和argv是main函式的形式引數。這兩個形式引數的型別是系統規定的。如果main函式要帶引數,就是這兩個型別的引數;否則main函式就沒有引數。變數名稱argc和argv是常規的名稱,當然也可以換成其他名稱。

可執行檔名稱 引數1 引數2 ... ... 引數n

可執行檔名稱和引數、引數之間均使用空格隔開。例如,我們在dos下執行copy c:\test.txt d:\test.txt,可執行檔名稱為copy,引數1為字串「c:\test.txt」,引數2為「d:\test.txt」。結果copy命令將c:\test.txt拷貝到d盤,目標檔案取為test.txt。

如果按照這種方法執行,命令列字串將作為實際引數傳遞給main函式。具體為:

(1) 可執行檔名稱和所有引數的個數之和傳遞給argc;

(2) 可執行檔名稱(包括路徑名稱)作為乙個字串,首位址被賦給argv[0],引數1也作為乙個字串,首位址被賦給argv[1],... ...依次類推。

例如,現在執行命令列(test是編譯後的exe檔名稱):

c:\tc\test how are you

那麼test工程的main函式引數argc=4;

argv[0]將儲存字串"c:\tc\test"的首位址;

argv[1]將儲存字串"how"的首位址;

argv[2]將儲存字串"are"的首位址;

argv[3]將儲存字串"you"的首位址;

下面的例子列印所有的argv引數:

main(int argc, char *argv)

}如果編譯後的exe檔名稱為test,在dos下執行c:\tc\test how are you,結果輸出:

total 4 arguments

argument 1 = c:\tc\test.exe

argument 2 = how

argument 3 = are

argument 4 = you

我們也可以在除錯狀態下輸入命令列引數,方法是:

在turboc的options選單下有乙個子選單arguments,選擇該項並確定,彈出輸入視窗;在輸入視窗鍵入命令列引數即可。比如要除錯上述的test,可以在輸入視窗鍵入how are you。在除錯過程中,可執行檔名稱和引數字串將被傳遞給main函式的形式引數。

在dos系統下,人們常常希望在執行exe的同時,傳遞一些有用的資訊。例如copy.exe,執行時將原始檔名稱和目的檔名稱作為引數傳入。利用指標陣列argv作為main函式的形式引數,可以滿足這種需要。

main函式引數說明

main函式引數說明 字元指標陣列 include void fun int a 10 void fun int a void fun int a void print array char p 100 int n void print array char p,int n void print a...

C語言中main函式的引數

我們經常用的main函式都是不帶引數的。因此main 後的括號都是空括號。實際上,main函式可以帶引數,這個引數可以認為是 main函式的形式引數。語言規定main函式的引數只能有兩個,習慣上這兩個引數寫為argc和argv。因此,main函式的函式頭可寫為 main argc,argv 語言還規...

C語言中main函式的引數

我們經常用的main函式都是不帶引數的。因此main 後的括號都是空括號。實際上,main函式可以帶引數,這個引數可以認為是 main函式的形式引數。語言規定main函式的引數只能有兩個,習慣上這兩個引數寫為argc和argv。因此,main函式的函式頭可寫為 main argc,argv 語言還規...