c-常量
- 正文
- 字面常量
- 1、字面常量
- 2、const修饰的常变量
- 3、#define 定义的标识符常量
- 4、 枚举常量
- 深度解析
- 1 什么是常量
- 2 常变量为什么不能定义数组的长度
- 3 枚举的作用是什么
- 4、C语言为何需要枚举?
- 下一篇
正文
变得量叫变量,不变的量叫常量
字面常量
1、字面常量
int main() {
// 字面常量,虽然不报错,但是没有什么意义
3.14;
"demo";
return 0;
}
2、const修饰的常变量
int main() {
// const修饰的常变量
const int num = 8;
//int arr[num] = { 0 }; // 报错 表达式必须含有常量值
printf("%d\n",num);
//num = 4; //这里会报错,左值是const修饰的常变量
printf("%d\n",num);
return 0;
}
const修饰的常变量,是不能够修改的,否则会爆编译异常,具体如图
const 修饰的常变量不能用于定义数组的长度,数组的长度必须是常量,常变量不可以
3、#define 定义的标识符常量
# define Max 10
int main() {
// 这里的常量是标识符常量 ,是可以作为数组的长度的
int arr[Max] = { 0 };
printf("%d\n", Max);
return 0;
}
执行结果
4、 枚举常量
// 枚举一一列举,
// 性别 三原色 月,周,对于有固定数量的对象,都可以用枚举来举例
enum Sex {
male,
female,
secret
};
int main() {
enum Sex s = male;
printf("%d\n",male);
printf("%d\n",female);
printf("%d\n",secret);
return 0;
}
执行结果
深度解析
1 什么是常量
c语言中的常量是指,在程序的执行过程中,这个量不会发生变化,是一个固定的数据
2 常变量为什么不能定义数组的长度
(以下是网络搜集来的信息,加上个人理解,参考即可)
1,按照语言学习来解释的话就是常变量依旧是变量,并非是常量,只不过const修饰下,值不可以改变
2,就是一开始的初代编译器,规定了数组的长度必须是不可改变的,为了安全问题,和防止内存泄漏,就完全禁止了数组使用变量
3 枚举的作用是什么
1,枚举是C语言中的一种基本数据类型,它可以让数据更简洁,更易读
2,枚举在C语言中其实是一些符号常量集。直白点说:枚举定义了一些符号,这些符号的本质就是int类型的常量,每个符号和一个常量绑定。这个符号就表示一个自定义的一个识别码,编译器对枚举的认知就是符号常量所绑定的那个int类型的数字。
一般情况下我们都不明确指定这个符号所对应的数字,而让编译器自动分配。
编译器自动分配的原则是:从0开始依次增加。如果用户自己定义了一个值,则从那个值开始往后依次增加。
4、C语言为何需要枚举?
C语言没有枚举是可以的。使用枚举其实就是对一些数字进行符号化编码,这样的好处就是编程时可以不用看数字而直接看符号。符号的意义是显然的,一眼可以看出。而数字所代表的含义除非看文档或者注释。
下一篇
上一篇 ----> c语言入门-3-打印复杂类型
下一篇 ----> 未完成