c語(yǔ)言中exit和return的區(qū)別點(diǎn)總結(jié)
1、返回函數(shù)值的return是關(guān)鍵字,exit是一個(gè)函數(shù)。
return是語(yǔ)言級(jí)的,它表示調(diào)用堆棧的返回;exit是系統(tǒng)調(diào)用級(jí)的,它表示一個(gè)過(guò)程的結(jié)束。
2、return是函數(shù)的退出,exit是進(jìn)程的退出。
3、return由C語(yǔ)言提供,exit由操作系統(tǒng)提供(或函數(shù)庫(kù)提供)。
實(shí)例
#include /* ISO C */ void exit(int status); void _Exit(int status); #include /* POSIX */ void _exit(int status);
知識(shí)點(diǎn)擴(kuò)充:
C語(yǔ)言中return與exit的區(qū)別
1,exit用于在程序運(yùn)行的過(guò)程中隨時(shí)結(jié)束程序,exit的參數(shù)是返回給OS的。main函數(shù)結(jié)束時(shí)也會(huì)隱式地調(diào)用exit函數(shù)。exit函數(shù)運(yùn)行時(shí)首先會(huì)執(zhí)行由atexit()函數(shù)登記的函數(shù),然后會(huì)做一些自身的清理工作,同時(shí)刷新所有輸出流、關(guān)閉所有打開(kāi)的流并且關(guān)閉通過(guò)標(biāo)準(zhǔn)I/O函數(shù)tmpfile()創(chuàng)建的臨時(shí)文件。exit是結(jié)束一個(gè)進(jìn)程,它將刪除進(jìn)程使用的內(nèi)存空間,同時(shí)把錯(cuò)誤信息返回父進(jìn)程,而return是返回函數(shù)值并退出函數(shù)
2,return是語(yǔ)言級(jí)別的,它表示了調(diào)用堆棧的返回;而exit是系統(tǒng)調(diào)用級(jí)別的,它表示了一個(gè)進(jìn)程的結(jié)束。
3,exit函數(shù)是退出應(yīng)用程序,并將應(yīng)用程序的一個(gè)狀態(tài)返回給OS,這個(gè)狀態(tài)標(biāo)識(shí)了應(yīng)用程序的一些運(yùn)行信息。
4,和機(jī)器和操作系統(tǒng)有關(guān)一般是 0 為正常退出 非0 為非正常退出
5,void exit(int status);
6,atexit()函數(shù)的參數(shù)是一個(gè)函數(shù)指針,函數(shù)指針指向一個(gè)沒(méi)有參數(shù)也沒(méi)有返回值的函數(shù)。atexit()的函數(shù)原型是:int atexit (void (*)(void));在一個(gè)程序中最多可以用atexit()注冊(cè)32個(gè)處理函數(shù),這些處理函數(shù)的調(diào)用順序與其注冊(cè)的順序相反,也即最先注冊(cè)的最后
到此這篇關(guān)于c語(yǔ)言中exit和return的區(qū)別點(diǎn)總結(jié)的文章就介紹到這了,更多相關(guān)c語(yǔ)言中exit和return的不同點(diǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
簡(jiǎn)單對(duì)比C語(yǔ)言中的fputs()函數(shù)和fputc()函數(shù)
這篇文章主要介紹了簡(jiǎn)單對(duì)比C語(yǔ)言中的fputs()函數(shù)和fputc()函數(shù),注意其之間的區(qū)別,需要的朋友可以參考下2015-08-08
C實(shí)現(xiàn)的非阻塞方式命令行端口掃描器源碼
這篇文章主要介紹了C實(shí)現(xiàn)的非阻塞方式命令行端口掃描器源碼,對(duì)于大家理解C端口掃描器有很大幫主,需要的朋友可以參考下2014-07-07
C語(yǔ)言中sizeof 和 strlen的區(qū)別
sizeof?和?strlen?是兩個(gè)常用于 C/C++ 語(yǔ)言中的函數(shù)或操作符,本文主要介紹了C語(yǔ)言中sizeof 和 strlen的區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下2024-08-08

