1
C语言程序设计
1.3.2.4 2.2.4 字符串常量

2.2.4 字符串常量

字符串常量是用一对双引号括起来的零个或多个字符组成的序列。如:"hello","CHINA","b","$43.2356"都是字符串常量。

字符串常量的存储与字符常量的存储不同。C编译程序在存储字符串常量时自动在其末尾加上'\0'作为字符串结束标志。

img90

图2.2.3 字符串在内存中的存放情况

如上面的字符串"hello",它的长度为5个字节,而在内存中存储时所占的字节数为6,其存储方式如图2.2.3所示。

因此,不要将字符常量与字符串常量混淆。'b'和"b"是完全不同的。前者是字符常量,在内存中占用的字节数为1;而后者是字符串常量,在内存中占用的字节数为2,包含字符b和\0。其在内存中的存放形式分别如图2.2.4和图2.2.5所示。

img91

图2.2.4 "b'在内存中的存放情况

img92

图2.2.5 "b"在内存中的存放情况

在C语言中没有专门的字符串变量,如果想将一个字符串存放在变量中,必须使用字符数组,即用一个字符型数组来存放一个字符串,数组中每一个元素存放一个字符。这将在第4章中介绍。