常量
C语言中的常量和变量的定义形式有所区别。
C语言的常量分为一下几种:
- 字面常量
- Const修饰的常变量
- #define定义的标识符常变量
- 枚举常量
字面常量
就比如你直接打个“1”没别的就是字面意思这样而已
Const修饰的常变量
Const int num=4
Num为Const修饰的常变量,具有常属性,有常量特性及——无法改变,但本质上还是变量。
以上就是举个简单例子帮助理解,当const修饰num使它成常变量时,如再给它赋值,会报错,因为num已经是常变量,及有常量属性,其数值无法改变,但要明确一点它本质还是变量。
其本质证明是变量体现如下:
先定义一个const修饰的常变量num。再把它写进数组里
此时打应数组中的下标为0那个你会发现它报错,及在中括号中,要你填常量,而此时我们输的是const修饰的num,则说明num不是常量。
当中括号中数值改为字面常量8时及成功。
由此也该知道数组在定它的大小时“【】”中括号中应写的是常量。而什么时候数组的中括号中可以用变量呢?
当你表示的是数组中的某一个时,中括号中就可以用变量来代表数组的下标。
如下:
#define定义的标识符常量
枚举常量
枚举及一一列举
枚举关键字enum
每个枚举常量(这里指small,middle,big)都有对应固定一个值。所以它们叫“枚举常量”也可以理解成取个名出来,那个名字本质相当于一个数字。
如下帮助理解:定义一个枚举创造出来的变量s,令它等于small。及等同于s=0;
枚举类型所创造出来的变量可以改变,但枚举常量不可改变。
嗯?????啥意思???????
枚举类型所创造出来的变量可以改变
但枚举常量不可改变
Small已经是个枚举常量了,你不能说再把它当变量再赋值给它。