main函數的參數列表
main函數實際上是有參數的,如何給main函數傳參,main函數的參數值是從操作系統的命令行上獲得的,當要執行一個課執行文件時,在DOS提示符下鍵入文件名,再輸入實際參數即可把這些參數傳送到main的形參中。
C:\可執行文件名 參數1 參數2 ...
main函數的參數列表
#include<stdio.h>
int main(int agrc; char* argv[]; char *envp[]){
int i = 0;
//打印出命令參數
for(; i < agrc; i++){
printf("%s\n", argv[i]);
}
i = 0;
//打印出環境變量
while(envp[i]){
printf("%s\n", envp[i++]);
}
return 0;
}
main函數的參數列表的命名可以變。
解析main函數的三個參數:
- int argc:指命令行輸入參數的個數,包括調用的函數名,比如:
[root@test main]# ./main Hello World !
//argc = 4
- char *argv[]:[]的優先級高,是一個指針數組,即數組的每一個元素都是一個指針,指向一個字符串,而argv[]的每個元素指向的字符串即命令行輸入的參數,即“./main”,“Hello”,“World”,“!"。並且,argv的最後一個元素是NULL。
- char *envp[]:同樣是指針數組,argv[]的每個元素指向的字符串即此時該進程所在的環境變量,元素應該比較多,最後一個元素爲NULL。
實驗結果:環境變量較多,只截取一部分。