1、预处理--编译--汇编--链接
(1)预处理(Preprocessing):用于将所有的#include头文件以及宏定义替换成其真正的内容;
(2)编译(Compilation):将经过预处理之后的程序转换成特定汇编代码的过程;(对代码进行语法和词法的分析)
(3)汇编(Assemble):将上一步的汇编代码转换成机器码,产生的文件叫做目标文件(将我们输入的C语言汇编成机器语言,也就是.o文件);
(4)链接(Linking):链接过程将多个目标文件以及所需的库文件(.so等)链接成最终的可执行文件(.exe)。
2、程序定义的“局部变量”会放在计算机内存中(栈),栈在数据结构是最基本的操作,只有两个操作,一个是push入栈,另一个是pop出栈。在c的栈中,是从栈顶向下开始存入变量的。