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 語...