返回首页   进站必读

8.1 定义一个字符串常量


8.1.1 定义一个字符串常量

字符串常量是一对双撇号括起来的字符序列,例如:

"hello world." "A" "#12.89"   

不要将字符常量和字符串常量混淆,字符串都是以’\0’结尾作为字符串结束标记, 所以’a’ 是字符常量,”a”是字符串常量,”a”是由两个字符’a’和’\0’组成的。

8.1.2 转义序列

八进制数的转义序列在3个数字之后结束,或者在第一个非八进制数字符处结束。
十六进制数的转义序列则不限于3个数字,而是直到第一个非十六进制数字符截止。

例如:

"\1234"		包含2个字符:'\123' 和 '4'
"\189"		包含3个字符:'\1', '8', '9'
"\x81"		包含1个字符:'\x81'

8.1.3 字符 \

可以用来分割任意长的符号。但如果用于字符串,则字面量会从下一行的起始位置继续。这样会破坏程序的缩进结构。

例如:

printf("hello \
world!");

编译器允许当两个字符串相连时,可以把它们合并成一个字符串。

例如:

"hello "    "world" "!"   => "hello world!"
printf("hello "
	"world"
	"!");

8.1.4 字符串的存储

字符串的结尾是用一个转义序列 ‘\0’ 来表示的。
学会正确区分 ‘\0’,’0’,”0” 和数字 0

'\0' => 单个字符,ASCII码值为0,占1个字节
'0' => 单个字符,ASCII码值为0x30,占1个字节
"0" => 字符串,以'\0'结束,占2个字节
0 => 整型数,一般会占4个字节