C语言中的四种常量详解
作者:鹿九丸
1、字面常量
字面常量正如我们从字面上简单理解的那样,是最简单的常量,下面给出例子帮助大家理解:
//1.字面常量 100; //整型常量 3.14; //浮点常量 "abfdj"; //字符串型常量 'w'; //字符型常量 int a[100]; //其中的100也是常量,此处需注意,[]中的数字必须是常量,后面我们会用到这个
2、const修饰的常变量
const修饰的变量具有常量的某些特征,其中最主要的特征就是const修饰的变量不可被改变,但注意,被const修饰的变量本质上仍是变量,只是不可被改变,如同被static修饰的局部变量生命周期发生改变,但是作用域却不发生改变一样,本质上仍是局部变量,作用域仍在所定义的代码块内,事实上,在计算机中还有一些诸如此类的例子,此处不再一一列举,下面让我们来了解一下这种变量吧。
此处就可以看出被const修饰的变量不可再被修改。下面将给大家展示一下被const修饰后的变量本质并未发生改变。
上面我们已经提及到,数组的[]内必须是常量,我们在把const修饰的变量a放入[]内时i,编译器会报错,所以const修饰的变量本质上仍是变量。
3、#define定义的标识符常量
由此可以得到,#define修饰的是不可修改的常量(第一个图可以看出不可修改,图二可以看出是常量,至于具体的原因,以后#宏定义为何会这样,以后有机会会给大家作出相应的解释,目前大家先记住即可。
注意:一般#define 定义的常量名字(实际上这并不是我们通常了解的定义变量的那种定义,是一种宏定义,以后有机会会给大家讲,今天不作详细的阐述)用大写字母表示,理论上可以用小写,但作为一个优秀的程序员,相信大家能够做到这一点,虽然只是一个小小的细节,但也能够体现出一个程序员的自我修养,希望大家能够注意到。
4、枚举常量
从上面可以看出,枚举类型确实是常量,但需要注意两点,第一点,枚举类型的数据值一般是大写,如图中的MALE
,FEMALE
,SECRET
,虽然说理论上也可以小写,但具体为什么我在此强调,原因同上;第二点,枚举类型定义时,{}内的分隔符是逗号,并且一般会像图中一样放在不用的行内,可以使代码看起来更简洁。
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!