一.常量

不会变的量就是常量,比如性别,血型等;

二.常量的分类

1.字面常量
2.const修饰的常变量
3.#define定义的标识符常量
4.枚举常量

1.字面常量

浅谈C语言中的常量(字面常量、const修饰的常变量、#define定义的标识符常量、枚举常量)_数组

2.const修饰的常变量


        在这里就需要用到const这一代码 ,先举个例子来看看边量和常变量的区别:

浅谈C语言中的常量(字面常量、const修饰的常变量、#define定义的标识符常量、枚举常量)_枚举类型_02

 定义一个变量a为12,在这之后将a重新赋值为14,我们可以看到a被成功赋值,那我们再加上const再试试

浅谈C语言中的常量(字面常量、const修饰的常变量、#define定义的标识符常量、枚举常量)_枚举类型_03

上面报错,显示a出现了问题,因为加了const的原因,变量a已经变成了常变量a(意味着a已经有了常量的属性)而常量是指不能再改变的量,因此当我想把a改变为14时会报错,这里需要注意,常变量只是让变量有了常量不能被修改的属性,但它的本质任然是一个变量,再举个列子让大家理解

浅谈C语言中的常量(字面常量、const修饰的常变量、#define定义的标识符常量、枚举常量)_枚举类型_04

这里大家需要知道一个知识点数组只能放常量,所以我们可以看到当变量n放进数组a中运行时就会出现报错,那我们加上const再试试

浅谈C语言中的常量(字面常量、const修饰的常变量、#define定义的标识符常量、枚举常量)_#define_05

我们发现哪怕加上const,让n变成常变量代码仍然报错 ,这就说明const只是让变量变成常变量有了常量不能被修改的属性,但它的本质仍然是一个变量。

​3.#define定义的标识符常量

浅谈C语言中的常量(字面常量、const修饰的常变量、#define定义的标识符常量、枚举常量)_#define_06

 这里我用#define定义n的值为12,在这里需要注意一下定义的格式(不需要等号和分号),当我们直接printf和用数组表示时代码能正常运行,一般当我们需要一个量在整个程序中保持不变或者在程序中我们希望只改变这一个数值而不会影响整个程序,我们就可以用这个进行定义,比如再用圆周率π时我们就可以定义他为3.14,在后面运用公式时就可以直接引用,而如果我们想让数据更精确,就只需要在#define这一行将3.14改为3.1415926····即可

4.枚举常量

 枚举就是一一列举,意思是说能够一一列举完的量。枚举的关键——enum

比如:

性别:男、女                    三原色:红、黄、蓝                  月份:一月·········十二月  等等

浅谈C语言中的常量(字面常量、const修饰的常变量、#define定义的标识符常量、枚举常量)_枚举类型_07

​在这里还需要注意一点,枚举类型创建的类型是常量可以修改,但枚举变量不可以改,比如:

浅谈C语言中的常量(字面常量、const修饰的常变量、#define定义的标识符常量、枚举常量)_数组_08

​上图中的a就是枚举类型创建的变量,它是可以修改的,但是我们一旦修改male或者female试试

浅谈C语言中的常量(字面常量、const修饰的常变量、#define定义的标识符常量、枚举常量)_数组_09

​ 这就说明:

枚举常量不可以改
枚举类型创建的类型是变量可以修改

枚举常量我一般很少用到这个,也不太清楚这种方法什么情况下会被使用,如果有会的大佬可以在评论区解释一下