【发布时间】:2015-07-07 06:22:43
【问题描述】:
我想知道内存是如何分配给 C 中的#define 变量的。
#define VAR1 10
我有 2 个问题...
- VAR1 的类型是什么?
- VAR1 存储在哪个内存段中?
【问题讨论】:
-
就像代码文本中的文本替换)
-
VAR1 是宏类型。它不存储在任何内存段中。它在编译时存在,甚至可能不会被使用,如果使用它,那么它的值通常会在编译器看到的代码中显示为文字整数 - 并且编译器本身不会看到 VAR1。 (异常情况下,它可能会通过作为对其参数进行字符串化的宏的参数(
#运算符)转换为字符串,或者它可能通过使用标记粘贴(##运算符)的宏合并到标识符中。)
标签: c macros c-preprocessor