常量?
常量分为以下四种。
1.字面常量
2.const 修饰的常变量
3.#define定义的标识符常量
4.枚举常量
字面常量?
直接写出来的字面值,字符,字符串
const修饰的常变量?
?
如图〔a〕是一个变量,可以修改。
代码运行的结果为
如图,〔a〕本来是10,后来被改成了20
可见,变量是可以被修改的。
如果你不想〔a〕被修改,那就这么写
〔const int a=10〕
运行时,编译器就无法改〔a〕为20了。
此时的〔a〕为常变量,兼有常量和变量的性质,却不属于其中一种。
创建一个数组,这个数组可以存放10个整型,写法如图。
其中,arr〔需要一个常量,如10〕
如果这么写的话,编译器会报错:表达式必须有常量值
但是〔n〕是变量。
那如果我们在〔n〕前面加一个const,把〔n〕变成常变量,是不是就可以使用了?
在vs2022中行
#define定义的标识符常量?
定义MAX值为100,
可以打印出来MAX的值100
这里我们发现,我们也可以将MAX拿来给〔a〕使用
MAX就是一个标识符,不是任何一种像int,short等的类型,它需要#define才可以定义一个内容,
如也可以定义一个字符串内容 STR “abcdef”
%s是打印字符串的意思
标识符MAX是常量,不可改变
枚举常量?
生活中有一些值是可以一一列举的,如三原色,red,green,blue
enum是一个枚举关键词,
相邻用〔,〕隔开
其中RED,GREEN,BLUE三个就是〔枚举常量〕
如图〔int a=10〕是一个整型变量
那么enum Color c=RED就是我们创建的一个颜色类型的变量
创建变量的本质是向内存申请空间,因为它要存储数据,但是〔枚举常量〕只是一个〔类型〕(可能像int等一样是一个数据类型),不用存储数据,不会占用空间,但是当你用这个〔类型〕创建一个变量时,才会占用空间。
像RED这种枚举常量是无法改变的,编译器会报错