C语言中const与define问题
为什么这里用#define M 10 就不会报错, 而用const int M=10; 就会报错呢?#include <stdio.h>
const int M=10;
void main()
{
int a;
} 编译器没有把变量当作数组定义时的长度的功能 #define 10
有
int a;
const int m=10;
有
int a;
编译器当然会报错 C语言关键字const就是用来限定一个变量不允许被改变的修饰符。上述代码中变量n被修饰为只读变量而ANSI C规定数组定义时长度必须是“常量”,“只读变量”也是不可以的,“常量”不等于“不可变的变量所以不行
页:
[1]