main函數的參數

 在一些教材中,咱們經常能夠看到main函數的形式以下:int main(int argc,char* argv[]),這兩個參數是幹什麼的呢?如何傳遞給main函數呢?數組

1.含義函數

  首先必須知道,main函數是由系統調用的,在調用的同時傳遞參數。spa

  例如,在文件file1.c中,有以下內容:命令行

複製代碼
#include <stdio.h>

int main(int argc,char* argv[])

{

         printf("exe executed!\n");

}
複製代碼

通過編譯後,在工程目錄的debug文件夾下,能夠獲得「file1.exe」文件,咱們要在DOS下執行這個文件,就要以必定的格式輸入命令行,格式以下:debug

         命令名  參數1,參數2,……參數n3d

好比,要執行上述exe文件,能夠輸入:指針

     file1 code

能夠獲得如下結果:blog

若是咱們要傳遞參數,則能夠輸入如下內容:字符串

         file1 China BeiJing

如今,我告訴您:

  argc的含義是argument count:它是一個int行變量,表示傳遞給main函數的參數數量;

  argv的含義是argument value(值):它是一個指向字符串的指針數組,每一個指針元素指向各個具體的參數;

您能夠猜到argc的值和argv的值是多少了麼?

argc=3,而不是2,由於命令名「file1」也算一個參數!所以今後處也能夠知道,argc是恆>=1的。

而argv呢?看下圖:

2.用法

  既然知道了各個參數的含義,那麼如何使用該參數呢?看了下面這個簡單的程序您就會明白:

複製代碼
#include <stdio.h>
int main(int argc,char* argv[])
{
    while(argc>0)
    {
        argc--;
        printf("%s\n",*argv);
        argv++;   /*指向下一條參數*/
    }
}
複製代碼

調用方法和運行結果:

相關文章
相關標籤/搜索