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