main()函數(shù)稱之為主函數(shù),一個(gè)C程序總是從main()函數(shù)開始執(zhí)行的,但是不一定在main函數(shù)最后結(jié)束。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),連平企業(yè)網(wǎng)站建設(shè),連平品牌網(wǎng)站建設(shè),網(wǎng)站定制,連平網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,連平網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
在 main() 之后的最后一條語句結(jié)束后,程序還要運(yùn)行一些代碼,以正常返回操作系統(tǒng)。main函數(shù)執(zhí)行完后還執(zhí)行其他語句,
有時(shí)候需要有一種與程序退出方式無關(guān)的方法來進(jìn)行程序退出時(shí)的必要處理,方法就是用atexit()函數(shù)來注冊(cè)程序正常終止時(shí)要被調(diào)用的函數(shù),atexit()函數(shù)的參數(shù)是一個(gè)函數(shù)指針,函數(shù)指針指向一個(gè)沒有參數(shù)也沒有返回值的函數(shù),它的原型是:
int atexit(void (*)(void));
擴(kuò)展資料
main函數(shù)的使用
示例:
#include stdlib.h
#include stdio.h
void fn1(void);
void fn2(void);
int main(void)
{
atexit(fn1);
atexit(fn2);
printf("main exit ...\n");
return 0;
}
void fn1()
{
printf("calling fn1()...\n");
}
void fn2()
{
printf("calling fn2()...\n");
}
參考資料來源:百度百科—main函數(shù)
樓主記住這么一個(gè)原則就行了。
函數(shù)要先聲明后使用。即函數(shù)調(diào)用之前一定要知道該函數(shù)的類型。
如果fun1在main函數(shù)之前已經(jīng)實(shí)現(xiàn),那么main函數(shù)調(diào)用fun1的時(shí)候就已經(jīng)知道fun1函數(shù)的類型了,就不需要聲明了。
如果fun1在main函數(shù)之后實(shí)現(xiàn),那么調(diào)用之前一定要先聲明。
main函數(shù)不是必須放在其他函數(shù)之前,也就是說可以放在其他函數(shù)的上面,下面,都可以。
編譯器編譯時(shí),是逐行編譯的。但是它是先找到主函數(shù),主函數(shù)編譯完也表明這個(gè)程序已經(jīng)編譯完了。如果主函數(shù)放在其他函數(shù)之前,那么在主函數(shù)中要調(diào)用的子函數(shù)(自定義函數(shù))要先在主函數(shù)之前聲明它的存在。如:void fun(int n,int m);
在多數(shù)編程語言里,變量、函數(shù)(過程)、結(jié)構(gòu)體、類、對(duì)象等都是必須先聲明(或在使用它之前定義)后使用。未聲明或未在使用它的函數(shù)之前定義的,編譯都無法通過。而且會(huì)報(bào)錯(cuò):未定義的變量或函數(shù)等.
擴(kuò)展資料:
main函數(shù),又稱主函數(shù),是程序執(zhí)行的起點(diǎn)。C程序最大的特點(diǎn)就是所有的程序都是用函數(shù)來裝配的。main()稱之為主函數(shù),是所有程序運(yùn)行的入口。
其余函數(shù)分為有參或無參兩種,均由main()函數(shù)或其它一般函數(shù)調(diào)用,若調(diào)用的是有參函數(shù),則參數(shù)在調(diào)用時(shí)傳遞。
int?main(void)//整數(shù)類型?主函數(shù)(無類型)
{
...
y1=f1(x1,x2);//賦值過程
...
}
f1(int?a,int?b)//f1(整數(shù)類型?a,整數(shù)類型?b)
{
//百度百科示例代碼.....
Y2=f2(x3,x4);//賦值過程
//百度百科示例代碼
}
f2(int?m,int?n)//f2(整數(shù)類型?m,整數(shù)類型?n)
{
//百度百科示例代碼
參考資料來源:百度百科-main函數(shù)