Linux C编程学习--main()函数简析
提到C語言的函數(shù),有太多內(nèi)容要講,今天我們要看的是main()函數(shù)。
main()函數(shù)時程序的入口點,任何程序都要有main()函數(shù),一般大家都怎么寫main()函數(shù)啊?
main();
void main();
void main(void);
int main();
int main(void);
int main(int argc,char * argv[]);
好像哪種都可以啊!是這樣嗎?好像編譯器從沒報過錯啊?這時因為編譯器對main()函數(shù)的擴(kuò)展,如果編譯器不支持這塊,則有可能會報錯,而標(biāo)準(zhǔn)的寫是什么呢?有兩種:
int main(void);
int main(int argc,char *argv[]);
有的同學(xué)做過單片機(jī),好像都是main()啊,也沒問題啊,這時因為單片機(jī)程序中沒人調(diào)用main()函數(shù),直接從main()函數(shù)調(diào)用完了,沒返回值。而對我們嵌入式linux C 呢?這里是有操作系統(tǒng)的,是會調(diào)用main()函數(shù)的,所以這里一般會有返回值,所以 int main(int argc,char *argv[])是最標(biāo)準(zhǔn)的寫法。我們今天要講的就是int main(int argc,char *argv[])!
argc是什么?是參數(shù)的個數(shù),什么參數(shù)?是我們執(zhí)行程序時所附給的參數(shù),argv[]是什么,是存放參數(shù)的數(shù)組,argv[0]是什么呢?是我們執(zhí)行的程序,例如: ./a.out 。我們下面編寫程序看函數(shù)時如何調(diào)用參數(shù)的?
[cpp]?view plaincopy執(zhí)行結(jié)果如下:
[cpp]?view plaincopy大家可以看到參數(shù)被存在什么位置,是怎么存放的。
那我們能不能對傳入的參數(shù)進(jìn)行運(yùn)算呢?當(dāng)然可以了!比如下面 傳入?yún)?shù) ./?1? 30 50,將30和50相加。看程序:
[cpp]?view plaincopy
執(zhí)行結(jié)果如下:
是可以的。
當(dāng)然這里給大家介紹一個將字符數(shù)字轉(zhuǎn)化成整型數(shù)字的方法,把上面寫得程序給大家看看
?
就是? '8' - '0' = 8;ASCII碼值相減,我們的目的是得到8,而不是將字符'8'轉(zhuǎn)化成整數(shù)8,這時沒法轉(zhuǎn)換的,因為'8'是字符,存放的是ASCII碼,是56,所以是沒法轉(zhuǎn)化成int數(shù)據(jù)的,但我們可以利用上面的方法得到8,大家要清楚這一點!
總結(jié)
以上是生活随笔為你收集整理的Linux C编程学习--main()函数简析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: chart.js绘制精美的数据化图形--
- 下一篇: django中怎样生成非HTML格式的内