常量
不会变化的量称为常量
C语言中常量的分类:
- 字面常量
- const 修饰的常变量
- #define 定义的标识符常量
- 枚举常量
字面常量
#include <stdio.h>
int main()
{
3.14;//浮点型常量
10;//整型常量
'a';//字符常量
"abcdef";//字符串常量
return 0;
}
const 修饰的常变量
被 const 修饰的变量被我们称为 常变量
常变量具有常属性 - 不能被改变的属性
#include <stdio.h>
int main()
{
const int num = 10;
num = 20;//! 表达式必须是可修改的左值,左值指定 const 对象
printf("%d\n", num);
return 0;
}
常变量本质上依旧是变量
#include <stdio.h>
int main()
{
const int num = 10;
int arr[num] = {0};//! num 本质上还是变量,数组这里不能使用变量,只能用常量
return 0;
}
#define 定义的标识符常量
#include <stdio.h>
#define MAX 10000 // define 定义的标识符常量
int main()
{
MAX = 20000; //! define 定义的常量不能被修改
int num = MAX;
printf("num = %d\n", num);
return 0;
}
枚举常量
一般用于可以一一列举的常量,例如:性别(男、女),三原色(红、绿、蓝),星期(一、二、三、四、无、六、天)
#include <stdio.h>
enum Sex // 枚举类型
{
// 这种枚举类型的变量未来的可能取值
// 枚举常量
Male, // 男性
Female, // 女性
Secret // 秘密
};
int main()
{
enum Sex s = Male; // 声明枚举类型变量
printf("%d\n", Male); // 0
printf("%d\n", Female); // 1
printf("%d\n", Secret); // 2
return 0;
}
枚举常量是可以赋初值的
#include <stdio.h>
enum Sex // 枚举类型
{
// 这种枚举类型的变量未来的可能取值
// 枚举常量
Male = 3, // 男性
Female, // 女性
Secret // 秘密
};
int main()
{
enum Sex s = Male; // 声明枚举类型变量
printf("%d\n", Male); // 3
printf("%d\n", Female); // 4
printf("%d\n", Secret); // 5
return 0;
}