天天看點

main函數的參數詳解

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下運作上面的程式結果為:

main函數的參數詳解

可以看出:arg[0]是程式的名稱,後面的參數,從arg[1]開始都按順序存放在字元數組中,argc數至少是1個。

轉載于:https://www.cnblogs.com/WindSun/p/11291864.html

繼續閱讀