开发者社区> 问答> 正文

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 2148 0
1 条回答
写回答
取消 提交回答
  • screenshot

    2019-07-17 19:32:40
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载