main函式的引數解析

2021-08-10 08:50:41 字數 1553 閱讀 2890

main函式的引數解析

我們平常寫main函式的時候習慣不帶引數,將其預設為void.

但如果我們仔細觀察的話,我們就能發現其實main函式是有引數的。

接下來,我們就來了解一下main函式的引數列表。

首先main函式的原型為:

int main( int argc, char *argv[ ], char *envp[ ] );
so接下來解釋一下這三個引數:

引數1:argc 是個整型變數,表示命令行引數個數(含第乙個引數)。

引數2:argv是個字元指標的陣列,每個元素是乙個字元指標,指向乙個字串,這些字串就是命令列中的引數

引數3:envp同樣是乙個字元指標的陣列,陣列的每乙個原來的元素是乙個指向乙個環境變數(字串)的字元指標。

舉個栗子:

#include 

int main(int argc, char* argv, char* envp)

// while(argv[i]!=null)//可以說明argv[i]最後乙個元素為null

//return

0; }

執行結果為:當前可執行程式所在位置

如果在該工程右擊屬性在除錯的命令列引數中輸入任意字串,再進行執行結果如圖:

注意這裡輸入的字串個數隨心而定哦!

那麼這些引數在char *argv裡是如何儲存的呢?

那麼引數3是怎樣的呢:

**塊:

舉個栗子:

#include 

int main(int argc, char* argv, char* envp)

return

0;}

輸出結果為:

圖中標記的path環境變數(在電腦屬性的高階選項環境變數裡面有)

為部分片段

注:envp陣列的最後乙個元素也存放null指標

以上輸出也可在命令列實現(cmd)

截圖如下:

直接在可執行程式下執行

main函式引數解析

int argc,char ar agrc表示引數的個數 ar 儲存引數 這個函式的意思是逐一輸出引數 實際上,main函式也可以帶引數。帶引數main函式的定義格式如下 void main int argc,char ar argc和ar 是main函式的形式引數。這兩個形式引數的型別是系統規定的...

main函式的引數解析

我們一般寫 的時候都會這樣寫main函式 int main 所以剛開始我們都以為main函式是沒有引數的,然而事實卻不是這樣子的。首先,我們來看看main函式的原型 int main int argc,char argv,char envp 所以main函式是有引數的,而且有三個引數。第乙個引數 a...

Linux C程式設計 main函式引數解析

摘自 我們經常用的main函式都是不帶引數的。因此main 後的括號都是空括號。實際上,main函式可以帶引數,這個引數可以認為是 main函式的形式引數。語言規定main函式的引數只能有兩個,習慣上這兩個引數寫為argc和argv。因此,main函式的函式頭可寫為 main argc,argv 語...