<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > main函數的標準定義

main函數的標準定義

作者: 時(shí)間:2012-05-30 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/171395.htm

5.1.2.2.1 Program startup

The called at 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 theyare local to the in which theyare declared):

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

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

從C99的規定里可以看出,main函數的標準一般為這兩種形式:

第一種形式:

int main (void)

{

……

return 0;

}

第二種形式:

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

{

……

return 0;

}

第一種main函數不帶形參,寫(xiě)起來(lái)比較簡(jiǎn)便。編寫(xiě)單片機C語(yǔ)言程序是不需要通過(guò)操縱系統向main函數傳遞參數的,所以筆者推薦采用第一種標準。

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

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



關(guān)鍵詞: 定義 標準 函數 main

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>