c語(yǔ)言中關(guān)于main函數(shù) c語(yǔ)言中main函數(shù)的功能

C語(yǔ)言中 main 是什么意思?

解釋如下:

堅(jiān)守“ 做人真誠(chéng) · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價(jià)值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都成都三維植被網(wǎng)小微創(chuàng)業(yè)公司專業(yè)提供成都定制網(wǎng)站營(yíng)銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計(jì)、底層架構(gòu)、網(wǎng)頁(yè)布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。

1、int main()是C語(yǔ)言main函數(shù)的一種聲明方式;

2、int表示函數(shù)的返回值類型,表示該主函數(shù)的返回值是一個(gè)int類型的值;

3、main表示主函數(shù),是C語(yǔ)言約定的程序執(zhí)行入口,其標(biāo)準(zhǔn)的定義格式為int main(int argc, char *argv[]);在int main()中,()中沒有數(shù)值表示入?yún)榭?,等同于int main(void);

4、事例中printf("%f",a);表示將a的值作為浮點(diǎn)類型打印出來,在屏幕上顯示,而主函數(shù)的返回類型int會(huì)將返回的值回傳給主調(diào)進(jìn)程,而不是在屏幕輸出。

5、因此,printf的輸出類型跟主函數(shù)的返回類型沒有關(guān)系,互不關(guān)聯(lián)。事例中,return 0 對(duì)應(yīng)才是主函數(shù)的返回值類型。

拓展資料

在C語(yǔ)言當(dāng)中,一個(gè)程序,無論復(fù)雜或簡(jiǎn)單,總體上都是一個(gè)“函數(shù)”;這個(gè)函數(shù)就稱為“main() 函數(shù)”,也就是“主函數(shù)”。比如有個(gè)“做菜”程序,那么“ 做菜 ”這個(gè)過程就是“主函數(shù)”。在主函數(shù)中,根據(jù)情況,你可能還需要調(diào)用“買菜,切菜,炒菜”等子函數(shù)。

main函數(shù)在程序中大多數(shù)是必須存在的,但是依然有例外情況,比如windows編程中可以編寫一個(gè)動(dòng)態(tài)鏈接庫(kù)(dll)模塊,這是其他windows程序可以使用的代碼。由于DLL模塊不是獨(dú)立的程序,因此不需要main函數(shù)。再比如,用于專業(yè)環(huán)境的程序-----如機(jī)器人中的控制芯片--可能不需要main函數(shù)。

參考資料:百度百科:main函數(shù)

初學(xué)編程,C語(yǔ)言中的main函數(shù)

考慮到main函數(shù)的特殊性,lz不明白這個(gè)問題可以理解。

main()是省略了返回值類型,C語(yǔ)言會(huì)默認(rèn)認(rèn)為成main的類型為int,在main()的函數(shù)體內(nèi)要返回一個(gè)值,如return 0;

而void main()的返回值是void類型,也就是說沒有返回值。這樣在main()的函數(shù)體內(nèi)你就不用寫return 0;或者return 1;之類的返回語(yǔ)句。

在一個(gè)程序中,可以說你看不出兩者的差別,因?yàn)閙ain()是C語(yǔ)言的入口點(diǎn),入口點(diǎn)如果返回了程序也就結(jié)束了,因此C語(yǔ)言的這個(gè)特性似乎沒用??蓻]用的話,C語(yǔ)言的設(shè)計(jì)者為什么要這么做呢?!肯定有用。

沒錯(cuò),前面我說的是在一個(gè)程序中,它似乎沒用??扇绻粋€(gè)程序prog2調(diào)用另一個(gè)程序prog1的話(這里指的是prog2直接調(diào)用prog1編譯好的可執(zhí)行文件),那么這個(gè)特性就有用了。因?yàn)閜rog2要知道prog1運(yùn)行之后的狀態(tài)。比如你用C寫了一個(gè)刪除文件的程序(暫且命名為delf),然后用另一個(gè)程序去調(diào)用delf,那么調(diào)用結(jié)果怎么樣???這個(gè)文件是否刪掉了?這是int main()就會(huì)派上用場(chǎng)了。C語(yǔ)言中默認(rèn)的main如果返回為0,那么這個(gè)程序調(diào)用就成功了,其他值,則為不同的錯(cuò)誤代碼。在你的delf程序中,如果那個(gè)文件刪除成功,那么就在int main()中返回0,其他調(diào)用delf的程序就知道,噢,這個(gè)操作成功了。

在unix/linux系統(tǒng)中的很多命令都是通過這種方式獲得運(yùn)行結(jié)果的。

關(guān)于譚浩強(qiáng)的書,我想不用多說,發(fā)行量說明了一切。畢竟第二版在編寫的時(shí)候還比較早,而第三版根據(jù)很多現(xiàn)在的需要進(jìn)行了改寫,內(nèi)容當(dāng)然會(huì)好些。鑒于lz是初學(xué)C,其實(shí)大可不必在這個(gè)問題上浪費(fèi)太多時(shí)間,當(dāng)你有了更多的項(xiàng)目經(jīng)驗(yàn),對(duì)這個(gè)問題會(huì)有更深刻的理解。

上面我已經(jīng)給出了main()、int main()和void main()的區(qū)別,但建議lz忽略這個(gè)差別,認(rèn)為成二者一樣,先把C的其他部分學(xué)好。至于只寫成main(),我并不推薦,就算編譯器通過了,這種編程的風(fēng)格也太不嚴(yán)謹(jǐn),不利于好的習(xí)慣的養(yǎng)成。

C語(yǔ)言中的main()函數(shù)

一、定義

main函數(shù),又稱主函數(shù),是程序執(zhí)行的起點(diǎn),main是相對(duì)來說的,如同音學(xué)理論之主調(diào)于泛音,泛音即程序中的除main之外的其他函數(shù),迎合人們的思考方式而生成的而非必定的模式.有主有次,執(zhí)行起來?xiàng)l清縷析,既可將程序模塊化又實(shí)現(xiàn)了一個(gè)閉合的整體。

二、main()函數(shù)的形式

在最新的 C99 標(biāo)準(zhǔn)中,只有以下兩種定義方式是正確的:

int main(?void?)? /*?無參數(shù)形式?*/

{

...

return 0;

}

int main(?int argc, char *argv[]?) /*?帶參數(shù)形式?*/

{

...

return 0;

}

int指明了main()函數(shù)的返回類型?,函數(shù)名后面的圓括號(hào)一般包含傳遞給函數(shù)的信息。void表示沒有給函數(shù)傳遞參數(shù)。

三、main()函數(shù)的返回值

從前面我們知道m(xù)ain()函數(shù)的返回值類型是int型的,而程序最后的 return 0; 正與之遙相呼應(yīng),0就是main()函數(shù)的返回值。那么這個(gè)0返回到那里呢?返回給操作系統(tǒng),表示程序正常退出。

因?yàn)閞eturn語(yǔ)句通常寫在程序的最后,不管返回什么值,只要到達(dá)這一步,說明程序已經(jīng)運(yùn)行完畢。而return的作用不僅在于返回一個(gè)值,還在于結(jié)束函數(shù)。

四、main()函數(shù)的參數(shù)

C編譯器允許main()函數(shù)沒有參數(shù),或者有兩個(gè)參數(shù)?(有些實(shí)現(xiàn)允許更多的參數(shù),但這只是對(duì)標(biāo)準(zhǔn)的擴(kuò)展)。這兩個(gè)參數(shù),一個(gè)是int類型,一個(gè)是字符串類型。

第一個(gè)參數(shù)是命令行中的字符串?dāng)?shù)。按照慣例(但不是必須的),這個(gè)int參數(shù)被稱為argc(argument count)。第二個(gè)參數(shù)是一個(gè)指向字符串的指針數(shù)組。命令行中的每個(gè)字符串被存儲(chǔ)到內(nèi)存中,并且分配一個(gè)指針指向它。

按照慣例,這個(gè)指針數(shù)組被稱為argv(argument value)。系統(tǒng)使用空格把各個(gè)字符串格開。一般情況下,把程序本身的名字賦值給argv[0],接著,把最后的第一個(gè)字符串賦給argv[1]?,等等。

擴(kuò)展資料

C++中的main函數(shù)的應(yīng)用:

C++繼承了C語(yǔ)言的大部分特性,因此保留了“程序總是從main函數(shù)開始執(zhí)行,且總是默認(rèn)從main函數(shù)的return語(yǔ)句或結(jié)尾處結(jié)束運(yùn)行”這一傳統(tǒng),但是要注意,C++中的main函數(shù)要想作為程序執(zhí)行的出入口,必須寫在全局(Global)范圍,不能寫成某個(gè)結(jié)構(gòu)體或某個(gè)類的成員。

雖然main函數(shù)可以作為結(jié)構(gòu)體或者類的成員函數(shù),但相應(yīng)地會(huì)失去作為程序出入口的功能。C++中全局main函數(shù)的書寫格式與C語(yǔ)言完全相同,功能也完全相同,且同一C++程序同樣只能有一個(gè)全局main函數(shù)。

參考資料:百度百科——main函數(shù)

C語(yǔ)言main函數(shù)?

我們用命令行時(shí)可以有很多選項(xiàng)參數(shù),但main只有兩個(gè)參數(shù),所以第二個(gè)參數(shù)是數(shù)組,命令行的多個(gè)參數(shù)就可存在數(shù)組中了。

分享標(biāo)題:c語(yǔ)言中關(guān)于main函數(shù) c語(yǔ)言中main函數(shù)的功能
URL鏈接:http://muchs.cn/article6/dospdig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、品牌網(wǎng)站制作微信公眾號(hào)、建站公司、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司