文件名称:转义字符及其含义-复高斯分布的数学基础理论
文件大小:6.48MB
文件格式:PDF
更新时间:2024-06-28 07:07:06
嵌入式 Linux C
表 4.5 转义字符及其含义 字 符 形 式 含 义 ASCII 代码 \n 回车换行 10 \t 水平跳到下一制表位置 9 \b 向前退一格 8 \r 回车,将当前位置移到本行开头 13 \f 换页,将当前位置移到下页开头 12 \\ 反斜线符“\” 92 \’ 单引号符 39 \ddd 1~3 位八进制数所代表的字符 \xhh 1~2 位十六进制数所代表的字符 4.2.4 枚举家族 在实际问题中,有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有 7 天,一年只有 12 个月,一个班每周有 6 门课程等。如果把这些量说明为整型、字符型或其他 类型显然是不妥当的。 为此,C 语言提供了一种称为枚举的类型。在枚举类型的定义中列举出所有可能的取值, 被定义为该枚举类型的变量取值不能超过定义的范围。 注意 枚举类型是一种基本数据类型,而不是一种构造类型,因为它不能再分解为任何基本类型。 枚举类型定义的一般形式为: enum 枚举名 { 枚举值表 }; 在枚举值表中应罗列出所有可用值,这些值也称为枚举元素。 下例中是嵌入式 Linux 的存储管理相关代码“/mm/sheme.c”中的实例,“sheme.c”中实 际是实现了一个 tmpfs 文件系统。 /* Flag allocation requirements to shmem_getpage and shmem_swp_alloc */ enum sgp_type { SGP_QUICK, /*不要尝试更多的页表*/ SGP_READ, /*不要超过 i_size,不分配页表*/ SGP_CACHE, /*不要超过 i_size,可能会分配页表*/ SGP_WRITE, /*可能会超过 i_size,可能会分配页表*/ }; sgp_type 具体含义的说明比较冗长,在此读者主要学习 enum 的语法结构。这里的 sgp_type 是一个标识符,它所有可能的取值有 SGP_QUICK、SGP_READ、SGP_CACHE、SGP_WRITE, 也就是枚举元素。这些枚举元素的变量实际上是以整型的方式存储的,这些符号名的实际值 都是整型值。 比如,这里的 SGP_QUICK 是 0,SGP_READ 是 1,依此类推。在适当的时候,用户也 可以为这些符号名指定特定的整型值,如下所示: