如果我有:
#define MAXLINE 5000
MAXLINE 理解为什么类型?我应该假设它是一个int
?我可以以某种方式测试它吗?
一般来说,如何判断某一种类型#define
ed 变量?
它没有类型。这是一个简单的文本替换。文本 5000 将被放置在 MAXLINE 作为标记出现的地方。
例如:
int a = MAXLINE;
将把值 5000 放入a
.
While
char *MAXLINE2 = "MAXLINE";
不会导致
char *50002 = "5000";
因此,如果您想要进行类型检查,宏并不是最佳选择。您将需要声明静态常量,这样编译器就可以完成类型检查。
有关之间差异的信息static
, const
, and #define
,有很多来源,包括这个问题:C 中的静态、定义和常量
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)