c - 程序通过C预处理器后,这个声明行会变成什么?

标签 c c-preprocessor

假设我们在程序的顶部有以下行

#define MAXNAME = 32;

然后是声明

char name[MAXNAME];

在程序中。程序通过后这个声明行会变成什么 通过 C 预处理器?

最佳答案

#define 宏执行直接文本替换。因此,在预处理器运行后,您的声明将如下所示:

char name[= 32;];

这是无效的。你可能想要:

#define MAXNAME 32

这会给你:

char name[32];

关于c - 程序通过C预处理器后,这个声明行会变成什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48726085/

相关文章:

c - OpenMP 递增计数并将值分配给数组

构造指向 alloca 的函数指针会导致链接器错误?

c++ - C/C++ 宏字符串连接

c - 在 C 头文件中使用定义?

c - 实际输出是什么,为什么?

C - 将缓冲区写入二进制文件 (wav)

c - 如何修复 strcat 函数中的段错误?

c - 宏连接,函数名生成

C预处理器: Dynamic#Define Creation

c - 在编译时提取宏常量中的位数