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...