字符常量表示为单个字符或使用一对单引号 ( 'a' ) 引起来的转义序列。对字符常量指定的类型为 int ,字符常量等效于值由 ASCII 字符集中该字符的值确定的整型常数。有关字符及其值的列表,可以参阅 ascii(5) 。也可以在字符常量中使用下表所示的任何特殊转义序列。D 支持的转义序列与 ANSI-C 中相同。
可以在单引号中包括多个字符说明符,以创建根据相应的字符说明符初始化各个字节的整数。将从左向右读取字符常量中的字节,并按与操作环境的本机字节存储顺序对应的顺序将各个字节分配到产生的整数。单个字符常量中最多可以包括八个字符说明符。
任何长度的字符串常量都可以通过引在一对双引号中 ( "hello" ) 来构成。字符串常量可能不含字面值换行符。要创建包含换行符的字符串,请使用 \n 转义序列来代替字面换行符。字符串常量可以包含上面所示字符常量的任何特殊字符转义序列。与 ANSI-C 类似,字符串表示为由空字符 ( \0 ) 结尾的字符数组,该空字符隐式添加到所声明的每个字符串常量中。对字符串常量指定了特殊的 D 类型 string 。D 编译器提供了一组特殊功能,用于比较和跟踪被声明为字符串的字符数组,如 第 6 章 中所述。