C语言常量
2026/7/19 14:55:47 网站建设 项目流程

常量的分类

字面常量符号常量

1. 字面常量

直接写在代码里的数值,无需定义,直接使用.例:100、3.14、“a”、“hello”等

字面常量分为4种:整型、浮点型、字符型、字符串常量

整型常量

C语言支持三中进制的整型常量(C语言不支持2进制

进制

书写规则

实例

十进制

正常数字

1,2,3,5,9

八进制

以0开头

012

十六进制

以0x开头

0x1A

2字符常量

用 单引号 '' 包裹,只能存放1个字符

示例:'A'、'9'、'#'

特殊:转义字符常量

转义字符

作用

\n

换行

\t

制表符(空格缩进)

\\

输出反斜杠

\'

输出单引号

\"

输出双引号

字符串常量

用 双引号 "" 包裹,可以存放多个字符

示例:"Hello C"、"12345"、"学习常量"

2.符号常量

符号常量是通过符号名定义的常量。符号常量可以用#define预处理指令或者const关键字定义。

预处理阶段直接纯文本替换,无类型检查

如图预处理的时候已经将文本替换了。

定义在函数外部,全局生效

不能被修改、不能赋值

常量名建议 全大写,区分变量

2. const 修饰常量(只读变量)

  • 有数据类型,编译器会做类型检查,更安全

  • 可以定义在局部/全局

  • 必须初始化赋值,后续不可修改

  • 特点:const常量有类型限制,编译器会进行类型检查。const常量存储在内存中,可以参与程序运行时的计算。

  • #define VS const 核心区别(高频考点)

  • 对比维度

    #define 宏常量

    const 常量

    类型检查

    无,纯文本替换

    有,类型严格检查

    作用域

    全局(默认整个文件)

    随定义位置(局部/全局)

    内存占用

    不占用内存,直接替换

    占用内存,属于只读变量

    可否修改

    完全不可修改

    只读,不可修改

    推荐场景

    全局固定参数(PI、最大值)

    需要类型安全、局部常量

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询