国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 定结县| 灌云县| 仁化县| 麻城市| 中江县| 子长县| 鄂托克旗| 西充县| 深泽县| 交城县| 宁安市| 渑池县| 峨眉山市| 会理县| 资兴市| 柘荣县| 杨浦区| 清徐县| 乡城县| 屯昌县| 左权县| 揭西县| 梅河口市| 兰州市| 长汀县| 木里| 太仆寺旗| 克东县| 额尔古纳市| 浦北县| 修武县| 鹿邑县| 平山县| 腾冲县| 枣阳市| 两当县| 吴忠市| 灯塔市| 时尚| 两当县| 富顺县|