亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

首頁 慕課教程 C 語言入門教程 C 語言入門教程 32 C 語言中的 main() 函數參數

C 語言中的 main() 函數參數

作為 C 語言程序的入口 mian 函數很多時候會在啟動的時候從外界傳入一些參數到程序內部。

1. main 函數的參數

其實從函數角度的講, mian 函數和其它函數沒有什么特別之處。只不過這個函數是又操作系統直接引導的,在大多數的情況下是程序的入口。因此而顯得特殊。

之前我們介紹的程序中都是沒有參數的 mian 函數,這里我們看一下一般情況下 mian 函數的參數情況。

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

或者

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

這里面的第一個參數是參數的數量,第二個是包含參數的數組。第一個參數的數量其實就是第二參數數組中包含的參數的數量。

那么如何使用這個 main 函數的參數呢?

只要在啟動程序的時候在后面依次用空格隔開需要傳遞進去的參數就可以了。

2. 示例

#include <stdio.h>

int main(int a, char *b[])
{
     printf("Arguments Count: %d\n", a);

     for (int i = 0; i < a; ++i)
          printf("Argment %d: %s\n", i, b[i]);
     return 0;
}

程序中的變量名沒有按照約定,因為這里是想給大家展示一下變量名是隨意的,不會影響運行結果。因為很多書籍中沒有這方面的說明,很容易給初學者造成困惑。這里只是 C 語言中。在有的時候會出現約定大于配置的情況。這個不在 C 語言課程的討論范圍內。

運行結果:

utopia@DESKTOP:~$ ./test
Arguments Count: 1
Argment 0: ./test
utopia@DESKTOP:~$ /home/utopia/test
Arguments Count: 1
Argment 0: /home/utopia/test
utopia@DESKTOP:~$ ./test a da sds
Arguments Count: 4
Argment 0: ./test
Argment 1: a
Argment 2: da
Argment 3: sds

這段程序首先直接打印出變量 a 的數值,也就是傳入 main 函數的變量的數量。然后采用循環方式,一次輸出數組中存儲的值。

從上面的運行結果可以看出。作為第一個變量傳入的是程序的名稱。其余變量在其后面依次傳入。

3. 小結

作為整個程序的門戶, main 函數肩負著將啟動命令行中的參數傳入程序內部的任務。

沒有額外參數輸入的情況,默認傳入的參數只有一個,就是程序的名稱名稱,其實更確切一點包含前面路徑的程序名稱。

如果在命令行啟動的時候輸入了其它的參數,那么這些參數會依次進入參數數組中。

4. 參考文獻