国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

詳解C語言中return與exit的區(qū)別

2020-05-23 13:46:32
字體:
供稿:網(wǎng)友

詳解C語言中return與exit的區(qū)別

1,exit用于在程序運行的過程中隨時結(jié)束程序,exit的參數(shù)是返回給OS的。main函數(shù)結(jié)束時也會隱式地調(diào)用exit函數(shù)。exit函數(shù)運行時首先會執(zhí)行由atexit()函數(shù)登記的函數(shù),然后會做一些自身的清理工作,同時刷新所有輸出流、關(guān)閉所有打開的流并且關(guān)閉通過標準I/O函數(shù)tmpfile()創(chuàng)建的臨時文件。exit是結(jié)束一個進程,它將刪除進程使用的內(nèi)存空間,同時把錯誤信息返回父進程,而return是返回函數(shù)值并退出函數(shù)

2,return是語言級別的,它表示了調(diào)用堆棧的返回;而exit是系統(tǒng)調(diào)用級別的,它表示了一個進程的結(jié)束。

3,exit函數(shù)是退出應(yīng)用程序,并將應(yīng)用程序的一個狀態(tài)返回給OS,這個狀態(tài)標識了應(yīng)用程序的一些運行信息。

4,和機器和操作系統(tǒng)有關(guān)一般是   0 為正常退出  非0 為非正常退出

5,void exit(int status);

6,atexit()函數(shù)的參數(shù)是一個函數(shù)指針,函數(shù)指針指向一個沒有參數(shù)也沒有返回值的函數(shù)。atexit()的函數(shù)原型是:int atexit (void (*)(void));在一個程序中最多可以用atexit()注冊32個處理函數(shù),這些處理函數(shù)的調(diào)用順序與其注冊的順序相反,也即最先注冊的最后

調(diào)用,最后注冊的最先調(diào)用。

一般程序執(zhí)行到 main() 的結(jié)束就完成了, 如果想在程序結(jié)束時做一些事情, 可以嘗試著用這個函數(shù).

example:#include... #include... void f1(void){  printf("exit f1/n");}void f2(void){  printf("exit f2/n");}int main(){  atexit(f1);  atexit(f2);  printf("exit main/n");  return 0;}

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 安化县| 璧山县| 日土县| 秦皇岛市| 绍兴县| 集安市| 和田县| 梁山县| 屏东市| 青田县| 永川市| 鄯善县| 鲁山县| 革吉县| 德令哈市| 磐石市| 胶南市| 桦南县| 讷河市| 视频| 上虞市| 壤塘县| 东至县| 安吉县| 囊谦县| 康平县| 来凤县| 五家渠市| 禹州市| 黎川县| 海口市| 民勤县| 宁武县| 绥棱县| 图们市| 霞浦县| 台南市| 吉安县| 海南省| 和平县| 晋江市|