一、程序环境
在ANSIC的任何一种实现中,都存在两个不同的环境,即翻译环境以及执行环境
(一)翻译环境,在这个环境中,源代码备转化为可执行的机器指令。
(二)执行环境
1,程序必须先载入入内存。
2,开始执行程序,调用main函数。
3,开始执行程序代码,程序会使用一个运行时堆栈(储存函数的局部变量和返回地址)。
4,终止程序。
二、宏和函数的区别
宏函数 | 函数 | |
执行速度 | 快 | 函数调用会消耗一定的时间 |
参数类型 | 宏和类型无关,适用于任何参数类型 | 函数的参数和类型相关,函数的形参和实参类型必须相同 |
操作符优先级的影响 | 在使用宏函数时,最好加上括号,否则会产生不可预料的结果 | 实参直接传递给形参,函数写正确,结果可以预测 |
三、预处理标识符(可以输出当前编译文件的相关信息)
_LINE__ //输出文件当前行号
__DATE__ //文件被编译的日期
__TIME__ //文件被编译的时间
__STDC__ //如果编译器遵循标C,其值为1,经测验,vs以及Linux系统都遵循标C