c語言中命令列引數argc,argv

2021-08-30 12:01:06 字數 1789 閱讀 4802

argv: 指標的指標

argc: 整數

char **argv or char *argv or char argv

為了能形象的說明這兩個引數的含義,我們先用乙個例項來進行講解:

假設程式的名稱為test,當只輸入test,則由作業系統傳來的引數為:

argc = 1,表示只有一程式名稱;

argc只有乙個元素,argv[0]指向輸入的程式路徑及名稱:./ test

當輸入test para_1,有乙個引數,則由作業系統傳來的引數為:

argc = 2,表示除了程式名外還有乙個引數;

argv[0]指向輸入的程式路徑及名稱;

argv[1]指向引數para_1字串

當輸入test para_1 para_2 有2個引數,則由作業系統傳來的引數為:

argc = 3,表示除了程式名外還有兩個引數;

argv[0]指向輸入的程式路徑及名稱;

argv[1]指向引數para_1字串;

argv[2]指向引數para_2字串;

以此類推………………

void main( int argc, char *argv )

char *argv: argv是乙個指標陣列,元素個數是argc,存放的是指向每乙個引數的指標,第乙個元素即argv[0]為程式執行的全路徑名,從二個元素(argv[1])開始,是每乙個引數的名稱,最後乙個元素為null。總的來說,即:

* argv: 字串陣列

argv[0] 為程式執行的全路徑名

argv[1] 為執行程式名後的第乙個字串;

argv[2] 為執行程式名後的第二個字串;

...argv[argc]為null。

int argc: 表示argv的大小,是實際引數個數+1,其中+1是因為argv[0]是編譯後的可執行檔名

main() 引數 :

turbo c2.0啟動時總是把argc、argv、env(存放環境變數)這三個引數傳遞給main()函式, 可以在使用者程式中說明(或不說明)它們, 如果說明了部分(或全部)引數, 它們就成為main()子程式的區域性變數。

請注意: 一旦想說明這些引數, 則必須按argc, argv, env 的順序, 如以下的例子:

main()

main(int argc)

main(int argc, char *argv)

main(int argc, char *argv, char *env)

其中第二種情況是合法的, 但不常見, 因為在程式中很少有只用argc, 而不

用argv的情況。

以下提供一樣例程式example.exe, 演示如何在main()函式中使用三個引數:

#i nclude #i nclude main(int argc, char *argv, char *env)

./example first "i』m a good boy" c "last " stop

注意: 可以用雙引號括起內含空格的引數, 如本例中的: " argument with blanks"和"last but one")。

結果是這樣的:

these are the 6 command-linearguments passed to main:

argv[0]:./ example

argv[1]:first

argv[2]: i』m a good boy

argv[3]:c

argv[4]: last

argv[5]:stop

argv[6]:(null)

c語言中命令列引數argc,argv

main int argc,char argv argv 指標的指標 argc 整數 char argv or char argv or char argv 為了能形象的說明這兩個引數的含義,我們先用乙個例項來進行講解 假設程式的名稱為test,當只輸入test,則由作業系統傳來的引數為 argc ...

C語言命令列引數

之前曾經使用過很多次c語言的命令列引數了,但是總是每次使用的時候都不太確定,需要重新查資料,這次來個總結。c語言的命令列引數非常簡單,只需要乙個簡單的例子就可以說明 cpp view plain copy include void main intargc,char argv 在上面的例子中,我們給...

C語言 命令列引數

可以通過main函式帶上兩個引數來獲取命令列的引數。argc 命令列引數的個數。argv 由命令列引數組成的字串陣列。include int main int argc,char argv return 0 編譯後執行結果 gcc test.c o test test a b c argv 0 te...