常量在 C语言中是如何表示的
- 整数
- 十进制 传统写法
- 十六进制 前面加 0x 或 0X
- 八进制 前面加 0 注意:是数字零不是字母 Oo
- 浮点数
- 传统写法
- float x = 3.2;
- 科学记数法
- float x = 3.2e3; x 的值是 3200
- float x = 123.45e-2 x 的值是 1.2345
- 传统写法
- 字符
- 字符单引号
- 字符串双引号
- “A”,也可以,这表示这个字符串只有一个字符。“A”表示的是‘A’‘\0’的组合
C语言中常量定义和使用的 2 种方法
在C语言中,#define
和const
都可以用来定义常量,但它们的使用方式和特性有所不同。
1. #define
#define
是预处理器指令,用于定义常量。在C语言的编译过程中,预处理器会先处理源代码中的预处理器指令,然后将其替换为指定的内容。使用#define
定义的常量会在编译时被替换到代码中。
例如,使用#define
定义一个常量:
#define PI 3.14159
在代码中,你可以直接使用这个常量:
double area = PI * r * r;
注意,使用#define
定义的常量不会占用内存,因为它只是一个文本替换。这意味着它不会影响程序的内存使用或性能。
2. const
const
关键字用于声明一个常量变量。这意味着变量的值一旦被初始化后就不能再被修改。与#define
不同,const
定义的常量会占用内存空间。
例如,使用const
定义一个常量:
const double pi = 3.14159;
在代码中,你可以直接使用这个常量:
double area = pi * r * r;
与#define
相比,使用const
定义的常量有以下优点:
- 类型安全:
const
定义的常量有明确的类型,这有助于避免类型错误。 - 可读性:使用变量名而不是简单的替换文本可以增加代码的可读性。
- 作用域控制:使用
const
定义的常量有明确的作用域,这有助于控制常量的使用范围。 - 可调试:如果使用调试器,可以设置断点并查看常量的值,这在预处理器定义的常量中是不可能的。
总结:
#define
主要用于定义简单的、不会改变的整数或字符串常量。它是一个预处理器指令,不会占用内存空间。const
主要用于定义复杂的、类型明确的常量变量。它占用内存空间,并提供了更好的类型安全性和作用域控制。