1、常量的分类
C语言中的常量分为以下几种:
- 字面常量,如:10,3.14,“abc”,'a’等
- const修饰的常量
- #define定义的标识符常量
- 枚举常量
2、const修饰的常量
#include <stdio.h>
int main()
{
int num = 10;//变量为num
num = 20;
printf("%d\n",num);
return 0;
}
运行结果为:20.在此基础上将int num = 10;
改为const int num = 10;
,则运行时num=20这里会报错:
因为给语句加上const就把变量的值给定死了,这个值不可以被修改,此时的num就叫做“常变量”而不是“变量”了,具有常数属性(不能被改变的属性),但是还是要注意,它也跟常量不同,我们来验证一下它跟常量是不一样的。
在int n = 10;
前面加上const也还是会报错,显示“表达式必须含有常量值”。所以说const修饰的变量为常变量。
3、#define定义的标识符常量
#include <stdio.h>
#define MAX 1000;
int main()
{
int n = MAX;
printf("%d\n",n);
return 0;
}
运行结果为1000.
4、枚举常量
枚举常量指的是可以一一列举的常量,如:在登录某些软件填写一些资料的时候,可以选择性别为男、女,还可以选择“私密”。
要用到enum关键字来定义性别类型。
#include <stdio.h>
enum sex
{
male,
female,
secret
};//这里面包含枚举类型所有包含的可能取值
int main()
{
enum sex s = male;
printf("%d\n", male);//male指的是任何一种可能值
printf("%d\n", female);
printf("%d\n", secret);
return 0;
}
运行结果为:
0
1
2
出现这样的运行结果的原因是:枚举常量是常量,它的值是从零开始的,默认是从0开始的。