在我們剛接觸C語言的時候,我們所寫的main主函數(shù)都是不帶參數(shù)的,但是的實際開發(fā)應用中,大多數(shù)情況,帶參數(shù)的main函數(shù)用的最多。
不帶參數(shù)的main函數(shù):
int main() //實際上是int main(void)
帶參數(shù)的main函數(shù):
int main(int argc,char* argv[],char *envp[])
先大概說一下參數(shù)的意思:
上述命令是在linux下執(zhí)行的,ls是命令,-l與-h是參數(shù),所以在上述命令中有兩個參數(shù)。
main函數(shù)的三個參數(shù)分別為argc、argv、envp.
int argc:用于存放命令行參數(shù)的個數(shù),不給main()函數(shù)傳遞參數(shù)時默認值為1,即至少有一個參數(shù)為該可執(zhí)行文件的文件名(含目錄)。
char* argv[]:是個字符串數(shù)組,每個元素都是一個指針,指向不同的字符串,即命令行中的每個參數(shù)。
char *envp[],也是一個字符串的數(shù)組,這個數(shù)組的每一個元素是指向一個環(huán)境變量的字符指針。
我們在工作中很少使用第三個參數(shù),我們先來講解前兩個參數(shù)。
注意:
1. argc的值是參數(shù)個數(shù)加1,因為程序名稱是程序的第一個參數(shù),即argv[0],在上面的示例中,argv[0]是./a.out 。(即此可執(zhí)行文件的路徑)
2. 不管參數(shù)是整數(shù)還是浮點數(shù),都被認作字符串
3.argc與argv都是程序員的約定,當然你也可以使用其他名字,但是不建議那樣做
另一個參數(shù)大家自行翻閱其他博主的博客。平時很少用,就不再總結(jié)。
如果有想了解atoi函數(shù)的,請轉(zhuǎn)移到C語言atoi、atol、atoll和atoq函數(shù)_〆 奮斗吧、小青年°998的博客-博客
上述的“超女程序思路來自大佬C語言main函數(shù)的參數(shù)_C語言技術(shù)網(wǎng)-碼農(nóng)有道的博客-博客_c語言main函數(shù)的參數(shù)”
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧