c語言中的main函數需要類型說明嗎?小豆丁:老張啊,我遇到困難了...,我來為大家講解一下關于c語言中的main函數需要類型說明嗎?跟着小編一起來看一看吧!
小豆丁:老張啊,我遇到困難了...
老張:啥困難啊?愁眉苦臉的,不至于哈!
小豆丁:今天我才發現,C語言中main函數還有參數,可是我不知道這個參數表示的是什麼含義,也不知道怎麼用。
老張:就這點問題?
小豆丁:嗯呐,我沒研究明白,好沮喪...
老張:這個問題不難,别放棄哈,我教你!
小豆丁:還是老張你最好!
老張:在C語言中,我們一般情況下不使用main函數的參數,但是并不代碼這main函數沒有參數,在當前C語言階段,main函數可以有兩個參數,一個是整數類型的argc,一個是指針數組argv,我們可以寫成這個樣子:
int main(int artc,char* argv[]){}
小豆丁:那這兩個參數表示什麼含義啊?
老張:我們先說第二個參數,第二個參數是一個指針數組,數組中每個元素都是char類型的指針,每個指針指向一個字符串。
小豆丁:那這些字符串來自于哪裡啊?主函數也不能被其他函數調用啊,也沒辦法對主函數傳參啊?
老張:沒錯,我們不能調用主函數!其實主函數中第二個參數裡的每一個指針所指向的字符串都來自于用戶在命令行上的參數。比如說,你寫好一個程序,編譯後生成a.out可執行程序,當你在運行的時候,你會在終端命令行上輸入:a.out,那麼這個argv數組中的第一個元素argv[0]所指向的字符串就是"a.out"。如果你運行時輸入:a.out 40 100,那麼argv數組中第一個元素argv[0]指向字符串"a.out",第二個元素argv[1]指向字符串"40",第三個元素指向argv[2]指向字符串"100"。所以當我們在程序中就可以用數組元素進行相關的數據處理了。
小豆丁:哦,原來指針數組中每個元素指向的内容是來自于命令行參數啊。可是我在什麼時候會用到這種方式呢?有什麼好處啊?
老張:有些時候我們寫好一個程序,要處理數值不同的各種場景, 那麼你就可以用主函數參數進行數值的傳遞,每次運行的時候,隻要給不同的數值就行,就不需要回頭更改代碼重新編譯了。
小豆丁:哦,明白了。那主函數的第一個參數呢?
老張:第一個參數是個整數類型的參數,它表示命令行參數有多少個,也就是第二個參數argv數組的元素個數。
小豆丁:這個樣子啊,那我知道了。
小豆丁:師傅啊,我覺得學編程好難啊,好沮喪...
老張:騷年!生活本就如此,哪有那麼多的一帆風順,誰不是在負重前行呢?别輕易放棄,隻要努力,終究會拼到你想要的美好!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!