1,、定義C語言規(guī)定main函數(shù)的參數(shù)只能有兩個,,習(xí)慣上這兩個參數(shù)寫為argc和argv。因此,,main函數(shù)的函數(shù)頭可寫為: main (argc,argv)C語言還規(guī)定argc(第一個形參)必須是整型變量,argv( 第二個形參)必須是指向字符串的指針數(shù)組,。加上形參說明后,main函數(shù)的函數(shù)頭應(yīng)寫為: int main (int argc,char *argv[]){…}
int main (int argc,char **argv){…} 其中第一個argc表示參數(shù)的個數(shù),;第二個參數(shù)中argv[0]為自身運行目錄路徑和程序名,,argv[1]指向第一個參數(shù)、argv[2]指向第二個參數(shù)…… #include <iostream> #include <string> using namespace std; int main(int argc, char **argv) { string str; cout<<'argc:'<<argc<<endl; for (int i = 0; i != argc; i) { cout << 'arg[' << i << ']' << argv[i] << endl; } return 0; } 2,、執(zhí)行由于main函數(shù)不能被其它函數(shù)調(diào)用, 因此不可能在程序內(nèi)部取得實際值,。那么,,在何處把實參值賦予main函數(shù)的形參呢? 實際上,main函數(shù)的參數(shù)值是從操作系統(tǒng)命令行上獲得的。當(dāng)我們要運行一個可執(zhí)行文件時,,在Linux運行時,,后面跟上參數(shù)即可把這些實參傳 送到main的形參中去。 在Linux下運行上面的程序結(jié)果為: 可以看出:arg[0]是程序的名稱,,后面的參數(shù),,從arg[1]開始都按順序存放在字符數(shù)組中,argc數(shù)至少是1個,。 |
|