常量
C语言中有四种常量类型,分别为字面常量、const修饰的常变量、#define定义的标识符常量、枚举常量。
(1)字面常量:字面常量正如我们从字面上简单理解的那样,是最简单的常量
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
3.14 //浮点数常量10 //整型常量
"a" //字符型常量
" ejriawil" //字符串型常量
return 0;
}
(2)const修饰的常变量:const修饰的变量具有常量的某些特征,其中最主要的特征就是const修饰的变量不可被改变,但注意,被const修饰的变量本质上仍是变量,只是不可被改变。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{const int num = 10; //num就是常变量 - 具有常属性(不能被改变的属性)
num = 20;
printf("unm = %d\n", num); //20
int arr[10] = { 0 }; //10个元素
//const int n = 10; //n为常变量
//int arr2[n] = { 0 }; //n需要是常量,n本质还是变量,所以会报错return 0;
}
(3)#define定义的标识符常量:C语言中,可以用 #define
定义一个标识符来表示一个常量。其特点是:定义的标识符不占内存,只是一个临时的符号,预编译后这个符号就不存在了。预编译又叫预处理。预编译不是编译,而是编译前的处理。这个操作是在正式编译之前由系统自动完成的。用 #define
定义标识符的一般形式为:
#define 标识符 常量 //注意, 最后没有分号
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#define max 10000 //#difine定义的标识符常量
int main()
{int a = max;
printf("%d\n", n)
return 0;
}
(4)枚举常量:如果想要定义一组有意义的数字,这一组的数字都有“排比”一样的规律我们可以定义为枚举常量。枚举常量的本质是数字由字符来表达。enum
是一个新的关键字,专门用来定义枚举类型,这也是它在C语言中的唯一用途。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//性别
enum Sex
{
//这种枚举类型的变量的未来可能取值
//枚举常量
MALE, //赋初值
FEMALE,
SECRET
};int main()
{
//4.枚举常量
//可以一一列举的常量enum Sex s = MALE;
printf("%d\n",MALE);
printf("%d\n", FEMALE);
printf("%d\n", SECRET);return 0;
}
注意:枚举类型只是int 型!其赋值和声明时只能是整数