日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀] 學過C語言的人都知道,main函數(shù)是程序啟動的入口函數(shù),每一個C語言程序里有一個main函數(shù),在程序里它是唯獨一個不能被其他函數(shù)調(diào)用的特殊函數(shù)。在眾多的單片機C語言編譯器里對main函數(shù)的寫法都沒有明

學過C語言的人都知道,main函數(shù)是程序啟動的入口函數(shù),每一個C語言程序里有一個main函數(shù),在程序里它是唯獨一個不能被其他函數(shù)調(diào)用的特殊函數(shù)。在眾多的單片機C語言編譯器里對main函數(shù)的寫法都沒有明確的要求,寫法非常自由,可以寫成帶形參的函數(shù),也可以寫成無形參的函數(shù),還可以寫成返回值為任意數(shù)據(jù)類型的函數(shù)。通用的寫法都是:void main () {…}。而根據(jù)C99標準的要求,main函數(shù)是一個有返回值的函數(shù),而且返回值類型必須為int。下面這段英文描述是從C99標準的PDF文檔上復(fù)制下來的:

5.1.2.2.1 Program startup

The calLEDat program startup is named main.The implementation declares no

prototype for this .It shall be defined with a return type of int and with no

parameters:

int main(void) { /* ... */ }

or with twoparameters (referred to here as argc and argv,though anynames may be

used, as theyareLOCal to the in whICh theyare declared):

int main(int argc, char *argv[]) { /* ... */ }

or equivalent;9)or in some other implementation-defined manner.

從C99標準的規(guī)定里可以看出,main函數(shù)的標準定義一般為這兩種形式:

第一種形式:

int main (void)

{

……

return 0;

}

第二種形式:

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

{

……

return 0;

}

第一種定義main函數(shù)不帶形參,寫起來比較簡便。編寫單片機C語言程序是不需要通過操縱系統(tǒng)向main函數(shù)傳遞參數(shù)的,所以筆者推薦采用第一種標準定義。

標準的意義在于通用,對C語言來講,符合標準意味著代碼的可移植好。如果main函數(shù)不符合C99標準也沒關(guān)系,只要編譯器支持,對您的程序沒有任何影響。到目前為止,沒有哪個C編譯器完全遵循C99標準,這都是為了讓編譯器兼容以前的代碼,這也是為什么C標準十幾年才修改一次的原因。當然,這并不代表新標準形同虛設(shè),從發(fā)展趨勢來看,C編譯器都會逐漸向新標準靠攏。

既然有了標準我們就應(yīng)該遵循。我們可以用權(quán)威標準來衡量一個代碼的優(yōu)劣,去批判“另類”代碼,寫出標準的C代碼,提高代碼的可移植性。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉