正确的C语言常量是什么?

Python014

正确的C语言常量是什么?,第1张

正确的C语言常量是指针常量。

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

但在 ‘C/C++语言中’,‘常量’如果还用‘运行过程中不变的量’来描述,就显得不太准确了,甚至是在具体使用时,这就是一个错误的概念。在 ‘C/C++’中,常量实质是‘指针常量’,虽然其看起来‘符合常量的概念’,但是在实际运行中,其值或地址值是会发生变化的。

扩展资料:

C语言常量只要const位于指针声明操作符右侧,就表明声明的对象是一个常量,且它的内容是一个指针,也就是一个地址,并且在声明的时候一定要给它赋初始值。一旦赋值,以后这个常量再也不能指向别的地址。

C语言常量指针的使用要注意,指针指向的对象不能通过这个指针来修改,可是仍然可以通过原来的声明修改,也就是说C语言常量可以被赋值为变量的地址,只是限制了通过这个指针修改变量的值。

  对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量。它们可与数据类型结合起来分类。例如,可分为整型常量、整型变量、浮点常量、字符常量、字符变量、枚举变量、枚举变量。在程序中,直接常量是可以不经说明而直接引用的,而符号常量和变量则必须先定义后使用。

  1、C语言常量和符号常量

    在程序执行过程中,其值不发生改变的量称为常量。

    1.1直接常量(字面常量):

    整型常量:12、0、-3;

    实型常量:4.6、-1.23;

    字型常量:‘a’、‘b'。

    1.2符号常量

    标识符:用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。

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

    符号常量在使用之前必须先定义,其一般形式为:#define 标识符  常量其中#define也是一条预处理命令(预处理命令都以"#"开头),称为宏定义命令(在后面预处理程序中将进一步介绍),其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。

    习惯上符号常量的标识符用大写字母,变量标识符用小学字母,以示区别。

    例3.1  符号常量的使用。

    #define PRICE 30main() {

        int num,total

        num=10

        total=num*PRICE

        printf('total=%d",total)

    }

    用标识符代表一个变量,称为符号常量。

    符号常量与变量不同,它的值在其作用域内不能改变,也不能再被赋值。

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

  2、C语言变量

      其值可以改变的量称为变量。一个变量应该有一个名字,在内存中占据一定的存储单元。变量定义必须放在变量使用之前。一般放在函数体的开头部分。要区分变量名和变量值是两个不同的概念。

C语言中的常量可以分为:整型常量、实型常量和字符型常量和字符串常量,

另外还有符号常量和有名常量.、

整型,例如:-123, 0xff (十六进制), 022(八进制)

实型, 例如:3.14, 3.14f (单精), 3.14lf (双精), 1.2e04(科学)

字符常量, 'A'

字符串常量, "abc123"

转义字符常量 '\0' "\n"

宏定义标识符常量 #define e 2.71

程序中的 e 编译时会被2.71 替代,

逻辑型常量 TRUE(实际上也是宏定义常量)

差不多就这几种吧····