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

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

詳解C語言中return與exit的區別

2020-05-23 13:37:47
字體:
來源:轉載
供稿:網友

詳解C語言中return與exit的區別

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

2,return是語言級別的,它表示了調用堆棧的返回;而exit是系統調用級別的,它表示了一個進程的結束。

3,exit函數是退出應用程序,并將應用程序的一個狀態返回給OS,這個狀態標識了應用程序的一些運行信息。

4,和機器和操作系統有關一般是   0 為正常退出  非0 為非正常退出

5,void exit(int status);

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

調用,最后注冊的最先調用。

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

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;}

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 两当县| 金秀| 平武县| 达州市| 平凉市| 名山县| 宁夏| 景宁| 克拉玛依市| 淮南市| 乌鲁木齐市| 额尔古纳市| 布拖县| 清河县| 鸡西市| 龙游县| 龙井市| 天祝| 四川省| 县级市| 奉化市| 若羌县| 友谊县| 惠来县| 门头沟区| 龙里县| 铁岭市| 闽侯县| 白沙| 安顺市| 山阴县| 阿拉善右旗| 保康县| 宁津县| 兴城市| 武宣县| 洛扎县| 石首市| 常德市| 堆龙德庆县| 盐山县|