现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

C/C++中#define宏定义的作用域

2019-11-16 09:17 工业·编程 ⁄ 共 308字 ⁄ 字号 暂无评论

#include <iostream>

using namespace std;

void t(void)

{

    #define a 10

}

 

int main()

{

   cout << a<<endl;

   return 0;

}

如上代码编译,打印输出结果为10。由此可见#define的作用域是文件作用域,在定义之后的位置使用都有效。改变其作用域可在后面加#undef。如下

#include <iostream>

using namespace std;

void t(void)

{

    #define a 10

   #undef

}

 

int main()

{

   cout << a<<endl;

   return 0;

}

编译运行报错,加#undef使其作用域变为代码块作用域.

给我留言

留言无头像?