易百教程

字符串变量

C语言对于字符串没有特定的变量类型,并且没有用于处理字符串的特殊运算符。使用char类型的数组来保存字符串。可以像这样声明一个数组变量:

char saying[20];

此变量可以存储包含最多19个字符的字符串,因为必须为终止字符(\0)预留占用一个元素。
如果使用此数组存储20个不是字符串的字符,例如存储字符串的数组小于字符数。编译器会自动将\0添加到每个字符串常量的末尾。例如下面代码:

char saying[] = "This is a string.";

编译器将分配一个足以容纳初始化字符串常量的值。在这种情况下,分配的值是18,这是字符串中的字符的17个元素加上用于终止字符的\0的一个额外元素。
可以使用字符串初始化char类型的元素数组的一部分。 例如:

char str[40] = "To be";

编译器将初始化前五个元素str[0]str[4],字符串的字符为常量。

str[5]将包含空字符'\0'

为数组的所有40个元素分配空间,并且可以以任何想要的方式使用。以下代码创建一个char数组并声明为常量:

const char message[] = "The end of the world is nigh.";

要引用存储在数组中的字符串,请单独使用数组名称。例如,要使用printf()函数输出存储在消息中的字符串,可以这样写:

printf("\nThe message is: %s", message);

%s指示符用于输出以null结尾的字符串。