C語言中帶參main函數,int argc,char *argv[]

  本人對c語言不是很熟悉,一下如有問題,請批評指正。

C語言中,一般情況下main函數不帶參數(或者說不使用參數),但是並不代表main函數沒有參數。其實,main函數可以有兩個參數,一個是整數類型的argc,一個是指針數組argv。常見main函數定義:

int main(int argc,char* argv[])

那麼這兩個參數分別代表什麼含義呢?如何給這兩個參數賦值呢?

先說下第二個參數,指針數組。數組中每個元素都是char類型的指針,每個指針可以指向一個字符串。事實上,第二個參數裏的每一個指針所指向的字符串都來自於用戶在命令行上的參數。我們將代碼編譯成可執行文件test.exe時,可以在命令窗口直接運行,這裏的參數正是我們在命令窗口輸入的值。如果test.c中main函數沒有參數(或者沒有用到參數),那麼我們就可以

test.exe

直接運行。如果我們想使用參數,在某種特殊的情況下,這也確實是有特殊的用途的。那麼我們可以在文件名字後跟上參數

test.exe str1 str2

重點來了:這時argv[0]指向"test.exe",argv[1]指向"str1",argv[2]指向"str2",此時第一個整形參數argc的值爲3,也就是命令行中所有參數的個數。如果main函數定義中不是main(void)那麼,其中的兩個參數也是有值的,只是我們沒用到。(避免誤導,我的c基礎很差,大家可以自己測試,歡迎將測試結果寫在評論區裏)

 

那麼在eclipse或者一些編譯軟件中如何給main函數的參數賦值呢?

這裏以exlipse  for c++爲例。右鍵項目->Run as->Run Configurations...,打開

在這裏填入參數,點擊Run即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章