表中列出的字符称为“转义字符”,意思是将反斜杠(\)后面的字符转换成另外的意义。如 ‘\n’ 中的 “n” 不代表字母 n 而作为“换行”符。
表中最后第 2 行是用ASCII码(八进制数)表示一个字符,例如 ‘\101’ 代表 ASCII 码(十进制数)为 65 的字符 “A”。‘\012’(十进制 ASCII 码为 10)代表换行。
需要注意的是 ‘\0’ 或 ‘\000’ 代表 ASCII 码为 0 的控制字符,它用在字符串中。
字符串常量
字符串常量通常用 "" 进行表示。字符串就是一系列字符的集合。一个字符串包含类似于字符常量的字符:普通的字符、转义序列和通用的字符。
常量定义C 语言中,有两种定义常量的方式。
- 使用 #define 预处理器进行预处理
- 使用 const 关键字进行处理
下面是使用 #define 预处理器进行常量定义的代码。
#include <stdio.h>
#define LENGTH 5
#define WIDTH 10
int main(){
int area = LENGTH * WIDTH;
printf("area = %d\n", area);
}
同样的,我们也可以使用 const 关键字来定义常量,如下代码所示
#include <stdio.h>
int main(){
const int LENGTH = 10;
const int WIDTH = 5;
int area;
area = LENGTH * WIDTH;
printf("area = %d\n", area);
}
那么这两种常量定义方式有什么不同呢?
编译器处理方式不同
使用 #define 预处理器是在预处理阶段进行的,而 const 修饰的常量是在编译阶段进行。
类型定义和检查不同
使用 #define 不用声明数据类型,而且不用类型检查,仅仅是定义;而使用 const 需要声明具体的数据类型,在编译阶段会进行类型检查。
文章参考:https://www.zhihu.com/question/19668080