? ? ? ? C命令行參數的作用是在執行程序時,可以將命令行的參數傳值給C程序內部,這樣就可以從外部控制程序,而不是在代碼內對這些值進行硬編碼。命令行參數是使用main函數來處理的,argc是指參數的個數,為int類型;argv[ ]為一個字符串,即char *類型,將該字符串的首地址賦值給字符指針argv[ ],因此argv[ ] 表示一個字符串(其實這是一種隱式轉換,具體的理解可以看之前的文章),也用于表示傳遞給程序的每個參數。下面以具體代碼詳細說明:
#include <stdio.h> //zsx.cint main( int argc , char* argv[ ] )
{int i;for( i=0 ; i < argc ; i++)printf("argv[%d]=%s",i,argv[i]);return 0;
}[root@localhost work]# gcc -pedantic -pipe -Wall -o zsx zsx.c
[root@localhost work]# ./zsx 12 er 34 ed
argv[0]=./zsx argv[1]=12 argv[2]=er argv[3]=34 argv[4]=ed // argc為參數的個數 argv[]為字符串
? ? ? ? 由上可以看出,在執行./zsx 12 er 34 ed時,參數個數為5個,則argc的值為5;argv[ ]表示具體每個參數的值,因此可以通過命令行參數,將外部的值傳遞給程序內部。