关于C语言应该知道的一些知识

     秋招找到的工作,不是很满意但是真的想离开学校所以就先签了。后来也一直排斥看书,不想学习,近期决定还是把一些知识整理一下。

①:#incude尖括号和#include引号的区别

尖括号,表示编译器只在系统默认目录或尖括号内的工作目录下搜索文件,并不去用户的工作目录下寻找,所以一般尖括号用于包含标准库文件。

双引号XXX.h,表示编译器先在用户的工作目录下啊搜索头文件,如果搜索不到则到系统默认目录下去寻找,所以双引号一般用于包含自己编写的头文件。

②:main函数执行之前,还会执行什么代码?

Main函数结束 不代表整个进程结束

(1) 全局对象的构造函数会在main函数之前执行,

全局对象的析构函数会在main函数之后执行;

atexit注册的函数也会在main函数之后执行。

(2) 一些全局变量、对象和静态变量、对象的空间分配和赋初值就是在执行main函数之前,而main函数执行完后,还要去执行一些诸如释放空间,释放资源使用权等操作。

(3) 进程启动后,要执行一些初始化代码(如设置环境变量等),然后跳转到main执行,全局对象的构造函数也在main函数之前。


你可能感兴趣的:(关于C语言应该知道的一些知识)