主函數(shù)就像:
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)石獅免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
你想回家一樣,你家只能有一個(gè)大門。
和主函數(shù)一樣,主函數(shù)是程序運(yùn)行的入口點(diǎn)。
你家還有這個(gè)房間,那個(gè)房間的門,
就像主函數(shù)中還有其它的函數(shù)調(diào)用一樣。
在C語言中,主函數(shù)必須要有返回值。
main 函數(shù)的返回值類型必須是 int ,這樣返回值才能傳遞給程序的激活者(如操作系統(tǒng))。如果 main 函數(shù)的最后沒有寫 return 語句的話,C99 規(guī)定編譯器要自動(dòng)在生成的目標(biāo)文件中(如 exe 文件)加入return 0; ,表示程序正常退出。
在C語言標(biāo)準(zhǔn)中強(qiáng)制要求main函數(shù)的返回值類型為int,main函數(shù)的返回值是傳遞給操作系統(tǒng),讓操作系統(tǒng)判斷程序的執(zhí)行情況(是正常結(jié)束還是出現(xiàn)異常)。
擴(kuò)展資料:
在C和C++中,不接收任何參數(shù)也不返回任何信息的函數(shù)原型為“void foo(void);”。正是因?yàn)檫@個(gè),所以很多人都誤認(rèn)為如果不需要程序返回值時(shí)可以把main函數(shù)定義成void main(void) 或void main()。然而這是錯(cuò)誤的。
main函數(shù)的返回值應(yīng)該定義為int類型,雖然在一些編譯器中,void main可以通過編譯(如vc6),但并非所有編譯器都支持void main,因?yàn)闃?biāo)準(zhǔn)中從來沒有定義過void main。g++3.2、dev C等環(huán)境中如果main函數(shù)的返回值不是int類型,根本無法通過編譯。而gcc3.2則會(huì)發(fā)出警告。
C語言中主函數(shù)指的是main函數(shù)
主函數(shù)的兩個(gè)形參形式中的形參,允許從執(zhí)行環(huán)境中傳遞任意的多字節(jié)字符串(它們通常被稱為命令行參數(shù)),各個(gè)指針 argv.. argv[argc-1] 指向每個(gè)這些字符串的第一個(gè)字符。
argv[0] 是指向一個(gè)表示用于執(zhí)行該程序自身的名字的空結(jié)尾多字節(jié)字符串(或者當(dāng)執(zhí)行環(huán)境不支持時(shí),為空字符串 "")的開頭字符的指針。這些字符串是可以改動(dòng)的,雖然對(duì)它們的改動(dòng)并不會(huì)被傳回給執(zhí)行環(huán)境:比如可以用 std::strtok 來使用它們。由 argv 所指向的數(shù)組的大小至少為 argc+1,其最后一個(gè)元素 argv[argc] 保證為一個(gè)空指針。
擴(kuò)展資料:
C++繼承了C語言的大部分特性,因此保留了“程序總是從main函數(shù)開始執(zhí)行,且總是默認(rèn)從main函數(shù)的return語句或結(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語言完全相同,功能也完全相同,且同一C++程序同樣只能有一個(gè)全局main函數(shù)。
主函數(shù)就是程序運(yùn)行時(shí),所在的函數(shù)。
一般習(xí)慣使用 main 作為主函數(shù)名。