1、定義
C語言規定main函數的參數隻能有兩個,習慣上這兩個參數寫為argc和argv。是以,main函數的函數頭可寫為: main (argc,argv)C語言還規定argc(第一個形參)必須是整型變量,argv( 第二個形參)必須是指向字元串的指針數組。加上形參說明後,main函數的函數頭應寫為:
int main (int argc,char *argv[]){…}
int main (int argc,char **argv){…}
其中第一個
argc表示參數的個數;第二個參數中
argv[0]為自身運作目錄路徑和程式名,argv[1]指向第一個參數、argv[2]指向第二個參數……
完整程式如下:
#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、執行
由于main函數不能被其它函數調用, 是以不可能在程式内部取得實際值。那麼,在何處把實參值賦予main函數的形參呢? 實際上,main函數的參數值是從作業系統指令行上獲得的。當我們要運作一個可執行檔案時,在Linux運作時,後面跟上參數即可把這些實參傳 送到main的形參中去。
在Linux下運作上面的程式結果為:
可以看出:arg[0]是程式的名稱,後面的參數,從arg[1]開始都按順序存放在字元數組中,argc數至少是1個。
轉載于:https://www.cnblogs.com/WindSun/p/11291864.html