哥斯拉不说话 发表于 2015-4-6 17:37:56

C语言中const与define问题

为什么这里用#define M 10 就不会报错, 而用const int M=10; 就会报错呢?
#include <stdio.h>

const int M=10;

void main()
{
    int a;
}      

らHorizon°Eter 发表于 2015-4-6 17:39:16

编译器没有把变量当作数组定义时的长度的功能

らHorizon°Eter 发表于 2015-4-6 17:40:35

#define 10

int a;

const int m=10;

int a;
编译器当然会报错

军刀 发表于 2015-4-6 21:36:25

C语言关键字const就是用来限定一个变量不允许被改变的修饰符。上述代码中变量n被修饰为只读变量而ANSI C规定数组定义时长度必须是“常量”,“只读变量”也是不可以的,“常量”不等于“不可变的变量所以不行
页: [1]
查看完整版本: C语言中const与define问题