atexit()叫做注册函数,会在main函数return之前调用。
我们来看简单的代码:
其中的func1()、func2()、func3()、func4()和如图所示的func5()一样,只有一句输出用于标识,然后在main()函数中的代码进入和return之前的位置输出两句话作为标志,我们看到如下的运行结果:
由此可以看到atexit()函数有点类似于C++的析构函数,先定义的后析构,atexit()函数是先注册的后调用,并且是将main()函数中所有的代码执行完后,在main()函数return之前逐个调用注册函数。