欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言return, exit, abort的區(qū)別

 更新時(shí)間:2022年01月04日 11:39:33   作者:微小冷?  
這篇文章主要介紹了C語言return, exit, abort的區(qū)別,一般情況下,在C語言中退出一個(gè)程序用return,如果在main函數(shù)中,return在清理局部對象之后,會調(diào)用exit函數(shù),和return相比,exit并不會銷毀局部對象,下面一起進(jìn)入文章了解更詳細(xì)內(nèi)容吧,需要的朋友也可以參考一下

一般情況下,在C語言中退出一個(gè)程序用return,如果在main函數(shù)中,return在清理局部對象之后,會調(diào)用exit函數(shù)。

return相比,exit并不會銷毀局部對象,而是會銷毀所有靜態(tài)與全局對象、清空緩沖區(qū),關(guān)閉IO通道。終止前則會調(diào)用atexit()所定義的函數(shù)。

atexit也在stdlib.h中,其聲明式為

int atexit(void (*func)(void))

當(dāng)程序中止時(shí),就會調(diào)用函數(shù)指針func。

//atexit.c
#include <stdio.h>
#include <stdlib.h>

void funcA (){
? ?printf("call from atexit\n");
}

int main (){
? ?atexit(funcA); ? //將funcA注冊為中止函數(shù)
? ?printf("exiting...\n");
? ?return 0;
}

測試結(jié)果如下:

>gcc atexit.c
>a.exe
exiting...
call from atexit

如果希望什么都不做就退出程序,可以使用abort(),將abort();插入到return 0前面,則其輸出結(jié)果如下,并不會調(diào)用funcA

>a.exe
exiting...

到此這篇關(guān)于C語言return, exit, abort的區(qū)別的文章就介紹到這了,更多相關(guān)C語言return, exit, abort區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于VC編寫COM連接點(diǎn)事件的分析介紹

    基于VC編寫COM連接點(diǎn)事件的分析介紹

    本篇文章是對VC編寫COM連接點(diǎn)事件進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++實(shí)現(xiàn)模擬shell命令行(代碼解析)

    C++實(shí)現(xiàn)模擬shell命令行(代碼解析)

    這篇文章主要介紹了C++實(shí)現(xiàn)模擬shell命令行,本文通過實(shí)例代碼進(jìn)行命令行解析,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • C語言 strcpy和memcpy區(qū)別詳細(xì)介紹

    C語言 strcpy和memcpy區(qū)別詳細(xì)介紹

    這篇文章主要介紹了C語言 strcpy和memcpy區(qū)別詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • EasyC++編寫頭文件

    EasyC++編寫頭文件

    這篇文章主要介紹了C++編寫頭文件,在一個(gè)C++程序中,只包含兩類文件——.cpp文件和.h文件。其中,.cpp文件被稱作C++源文件,里面放的都是C++的源代碼;而.h文件則被稱作C++頭文件,里面放的也是C++的源代碼,感興趣的小伙伴一起來看下面文章的詳細(xì)介紹吧
    2021-12-12
  • C++中rapidjson將嵌套map轉(zhuǎn)為嵌套json的講解

    C++中rapidjson將嵌套map轉(zhuǎn)為嵌套json的講解

    今天小編就為大家分享一篇關(guān)于C++中rapidjson將嵌套map轉(zhuǎn)為嵌套json的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • C++用Dijkstra(迪杰斯特拉)算法求最短路徑

    C++用Dijkstra(迪杰斯特拉)算法求最短路徑

    Dijkstra(迪杰斯特拉)算法是典型的最短路徑路由算法,用于計(jì)算一個(gè)節(jié)點(diǎn)到其他所有節(jié)點(diǎn)的最短路徑。主要特點(diǎn)是以起始點(diǎn)為中心向外層層擴(kuò)展,直到擴(kuò)展到終點(diǎn)為止。下面這篇文章就給大家介紹關(guān)于C++用Dijkstra算法(迪杰斯特拉算法)求最短路徑的方法,下面來一起看看吧。
    2016-12-12
  • C++char類型和輸入輸出優(yōu)化

    C++char類型和輸入輸出優(yōu)化

    這篇文章主要介紹了C++char類型和輸入輸出優(yōu)化,char的全稱是character,也就是字符的意思。顧名思義,char類型是專門為了存儲字符而設(shè)計(jì)的。下面我們一起來看看文章的具體內(nèi)容吧
    2021-11-11
  • C++繼承詳細(xì)介紹

    C++繼承詳細(xì)介紹

    我們都知道面向?qū)ο笳Z言的三大特點(diǎn)是:**封裝,繼承,多態(tài)。**之前在類和對象部分,我們提到了C++中的封裝,那么今天呢,我們來學(xué)習(xí)一下C++中的繼承
    2022-10-10
  • 詳解C++虛函數(shù)的工作原理

    詳解C++虛函數(shù)的工作原理

    這篇文章主要介紹了C++虛函數(shù)的工作原理的的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • 講解C++編程中Address-of運(yùn)算符&的作用及用法

    講解C++編程中Address-of運(yùn)算符&的作用及用法

    這篇文章主要介紹了C++編程中Address-of運(yùn)算符&的作用及用法,是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2016-01-01

最新評論