|
本帖最后由 jiaokai123 于 2018-6-27 16:16 编辑
6、小作业:
请大家课后查找const常变量和#define宏定义有什么区别呢?
答:
1:#define 定义之后 预处理器在程序未编译之前就已经处理 const 是编译时处理
2:实验表示 #define定义之后 不受 {}括号作用域影响 const会受{}括号作用域影响
3:实验表示 #define定义之后 在函数里不占目前函数栈空间 const会根据类型不同占用目前函数栈空间。
且#define 上面的代码会不认识#define
注:实验是在OD中做的。
实验代码如下
void Define_test()
{
#define cs 10
printf("%d",cs);
}
void Const_test()
{
const int iInt=12;
printf("%d",iInt);
}
int main(int argc, char* argv[])
{
Define_test();//抬起堆栈为40
Const_test();//抬起堆栈为 44
getchar();
return 0;
}
|
上一篇: 【实用C++】新手教程 第五课作业下一篇: 【实用C++】新手教程 第八课 作业
|