C语言符号常量定义

Python026

C语言符号常量定义,第1张

在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。

其特点是编译后写在代码区,不可寻址,不可更改,属于指令的一部分。

符号常量在使用之前必须先定义,其一般形式为:

#define 标识符 常量

其中#define 也是一条预处理命令(预处理命令都以"#"开头),称为宏定义命令,其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。

枚举类型中的元素也是符号常量,如:

enum Weekday{SUN, MON, TUES, WED, THU, FRI, SAT}。

例:

#include<stdio.h>

#define PRICE 30

main()

{

    int num,total

    num=10

    total=num* PRICE

    printf(“total=%d”,total)

}

使用符号常量的好处是:含义清楚;能做到“一改全改”

所谓常量,即在程序运行时,不会被修改的量。一般分为两种,一种是字面常量,比如

1 //整型字面常量1.1f //单精度字面常量'a' //字符字面常量"hell world" //字符串字面常量另外一种是符号常量,即用一个标识符来表示常量,一般使用const来指明,比如

const int MAX_SIZE =256//定义一个符号常量MAX_SIZE。在C语言中也可以使用宏定义,通过预处理器来替换符号常量。比如上面的MAX_SIZE可以写成

#define MAX_SIZE 256

C语言里面的常量是指不会变化的常数或编码,例如圆周率3.14就可以定义为一个常量。

“常量”的广义概念是“不变化的量”,例如:在计算机程序运行时,不会被程序修改的量;数学函数中的某一个量,例如每一个具体的圆的半径、直径数值;物理学中的靠近地面的重力加速度;真空中的光速数值;不同的微粒的各自的质量。

一层含义指它们的编码方法是不变的,但是严格来说“人为规定的某一种方法也可以因地制宜而人为改变,所以其本身数值大小‘不是‘常量’的内涵”。比如字符'A'无论在硬件、软件还是各种编程语言中,它的信息编码即为 “ 0x41”。

扩展资料:

C语言中,常量概念容易存在的错误解释:

在除了“C/C++”的一些高级程序语言中,“常量”可以被称作,“在一个信息变化过程中,始终不发生改变的量”,其可以是不随着时间变化的某些量的固定信息;也可以表示为某一数值的字符(或字符串),常被用来标识、测量和比较两者的差异。

但在 “C/C++语言中”,“常量”如果还用“运行过程中不变的量”来描述,就显得不太准确了,甚至是在具体使用时,这就是一个错误的概念。

在 “C/C++”中,定义“指针常量”时,根据“const ”的位置的不同,可以定义出几个不同的形式,虽然其看起来“符合常量的概念”,但是在实际运行中,其值或地址值是会发生变化的,所以本质还不是“常量概念”。

参考资料来源:百度百科-常量 (编程语言)