全站数据
8 4 2 0 5 8 1

C语言中,宏替换与定义全局变量的区别是什么

盒饭财经 | 简单学习,快乐成才!         
问题更新日期:2024-11-03 19:28:09

问题描述

C语言中,宏替换与定义全局变量的区别是什么希望能解答下
精选答案
最佳答案

1 作用时间不同。宏定义在编译期间即会使用并替换,而全局变量要到运行时才可以。

2 本质类型不同。宏定义的只是一段字符,在编译的时候被替换到引用的位置。在运行中是没有宏定义的概念的。而变量在运行时要为其分配内存。

3 宏定义不可以被赋值,即其值一旦定义不可修改,而变量在运行过程中可以被修改。

4 宏定义只有在定义所在文件,或引用所在文件的其它文件中使用。 而全局变量可以在工程所有文件中使用,只要再使用前加一个声明就可以了。换句话说,宏定义不支持extern。