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

3893f46e-71e2-4c97-8e8b-6d4e24b2bb05

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM