常量,例如5, "abc",等,肯定是只读的,因为常量是被编译器放在内存中的只读区域,当然也就不能够去修改它。而“只读变量”则是在内存中开辟一个地方来存放它的值,只不过这个值由编译器限定不允许被修改。C语言关键字const就是用来限定一个变量不允许被改变的修饰符(Qualifier)。
为什么下面的例子在使用一个const变量来初始化数组,ANSI C的编译器会报告一个错误呢?
const int n = 5;
int a[n];
上述代码中变量n被修饰为只读变量,可惜再怎么修饰也不是常量。而ANSI C规定数组定义时长度必须是“常量”,“只读变量”也是不可以的,“常量”不等于“不可变的变量”。但是在C++中,局部数组是可以使用变量作为其长度的。
常量,用 enum类型和#define宏来定义.只读变量用const来定义;
而所有宏定义、枚举常数、只读变量全用大写字母命名,用下划线分割单词。例如:
const int MAX_LENGTH = 100; //这不是常量,而是一个只读变量
#define FILE_PATH “/usr/tmp”.
相关文章
- Postman: Pre-request Script,设置body 变量
- javascript中的变量、执行环境、作用域
- 1.(1)编写一个接口ShapePara,要求: 接口中的方法: int getArea():获得图形的面积。int getCircumference():获得图形的周长 (2)编写一个圆类Circle,要求:圆类Circle实现接口ShapePara。 该类包含有成员变量: radius:public 修饰的double类型radius,表示圆的半径。 x:private修饰的double型变量
- js里变量的作用域
- MATLAB实现随机森林(RF)回归与自变量影响程度分析
- java多线程系列(二)---对象变量并发访问
- Effective C++ 第二版 31)局部对象引用和函数内new的指针 32)推迟变量定义
- 变量的属性——C语言中的变量属性
- “全栈2019”Java第十二章:变量
- 【重要】攻击动作时间段判断~使用动画time比较动画length和使用一个变量数组做延迟