变量和常量
1. 什么是变量和常量
常量是固定值,在程序执行期间不会改变。
变量是指指向某一个存储空间的名称,而存储空间我们用数据类型来定义,因此定义一个变量就是定义了一个可操作存储空间。
2. 整形常量
0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。
整数常量也可以带一个后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意。
212 /* 合法的 */
215u /* 合法的 */
0xFeeL /* 合法的 */
078 /* 非法的:8 不是八进制的数字 */
032UU /* 非法的:不能重复后缀 */
85 /* 十进制 */
0213 /* 八进制 */
0x4b /* 十六进制 */
30 /* 整数 */
30u /* 无符号整数 */
30l /* 长整数 */
30ul /* 无符号长整数 */
3. 浮点型常量
当使用指数形式表示时, 必须包含小数点、指数,或同时包含两者,默认的浮点类型是 double 类型。
带符号的指数是用 e 或 E 引入的整数常量也可以带一个后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意。
3.14159 /* 合法的 */
314159E-5L /* 合法的 */
510E /* 非法的:不完整的指数 */
210f /* 非法的:没有小数或指数 */
.e55 /* 非法的:缺少整数或分数 */
4. 字符常量
字符常量是括在单引号中,如:‘x‘,’X’。
转义字符指无法输出打印,或者会引起歧义的字符,如:
转义字符 | 字符含义 |
---|---|
\n | 换行 |
\t | 水平制表符 |
\' | 单引号 |
\" | 双引号 |
\\ | 斜杠 |
5. 定义变量的命名规范
- 变量可以由字母、数字和下划线字符组成,必须以字母或下划线开头
- C 语言区分大小写,Print 和 print 是两个不同的变量
- 定义变量是可以使用=给变量赋初值
- 定义相同类型的变量时,可以连续定义而不需要定义数据类型
6. 定义一个常量(象征性)
使用 define,如:
#define LED_PIN 6
#define NUM_LEDS 30
#define LED_TYPE WS2812
#define COLOR_ORDER GRB
使用 const,如:
const uint8_t LED_PIN = 6;
const uint8_t NUM_LEDS = 30;