开发者社区 问答 正文

C语言中#define和const疑惑

#define A 50
const int B=40;
static  int array[A];//正确
static int array2[B];//错误
const int C=2*A;//正确
const int D=2*B;//错误

int main()
{}

疑惑
const定义常量是不是发生在编译时,所以在程序预处理阶段不能对数组大小进行初始化或者对值进行初始化,而#define宏发生在预处理阶段,可以用实体对数组大小初始化时出现的宏进行宏展开。

我这样理解对吗

展开
收起
a123456678 2016-06-08 20:12:44 2221 分享 版权
1 条回答
写回答
取消 提交回答
问答分类:
问答标签:
问答地址: