//什么是常量
#include<stdio.h>
//常量分类:1、字面常量:如3.14 10 'a'(字符常量) "abcd"(字符串常量)
// 2、const修饰的常变量:如const int num = 10;(num就是const修饰的常变量)
// 3、#define定义的标识符常量:如#define MAX 10000(MAX就是#define定义的标识符常量)
// 4、枚举常量:可以一一例举的常量,如:性别、三原色
//1、字面常量
int main()
{
3.14;
return 0;
}
//2、const修饰的常变量
int main()
{
const int num = 10; //num前面加const修饰后不能再变//现在,num就是常变量--具有常属性(不能被改变的属性)
//但是,num的本质是变量,只是此时被const修饰,变为常变量
//如:const int n = 10;
//int arr[n] = {0};
//arr是数组,[]内需要常量
//此处的n虽然被const修饰成为常变量,但n本质是变量
num = 20; //num已经被const修饰不能再变,所以此处报错
printf("num = %d\n", num);
return 0;
}
//3、#define定义的标识符常量
#define MAX 10000 //MAX就是#define定义的标识符常量--不能更改
int main()
{
MAX = 20000; //MAX不能改动,所以此处报错
int n = MAX;
printf("n = %d\n", n);
return 0;
}
//4、枚举常量
enum Sex
{
//枚举的类型变量的未来可能取值
MALE, //男
FEMALE, //女
SECRET //未知
};
int main()
{
enum Sex s = MALE;
printf("%d\n", MALE); //打印出0 //枚举常量默认从0开始,每次增加1
printf("%d\n", FEMALE); //打印出1 //如果enum Sex里面的MALE = 3(赋初值),则后面相继打印出3、4、5
printf("%d\n", SECRET); //打印出2
return 0;
}