字符串是C 语言里最有用,最重要的数据类型之一。C库提供了众多的函数用来读写字符串,复制字符串,比较字符串,组合字符串,查找字符串等等。
字符串是以空字符(、O)结尾的char数组。因此,数组和指针知识可以用到字符串上。
但是由于字符串的使用非常广泛,C提供了许多转为字符串设计的函数。
定义字符串的方法很多。基本的方法是使用字符串常量,char数组,char函数和字符串数组。
如果字符串文字中间没有间隔或者间隔的是空格符ANSIC会将其串联起来。例如:
char greeting[150] = "hello,and" "how are " "you" "today!";
和
char greeting[150] = "hello,and how are you today!";
是同等的。
如果想在字符串中使用双引号,可以在双引号前面加一个反斜线符号,如下所t示:
printf("\"run,spot,run!\" exclaim dick. \n");
它的输出如下:
“run,spot,run!\ ” exclained dick.
字符串常量属于静态存储类,静态存储是指如果在一个函数中使用字符串常量,即使是多次调用了这个函数,该字符串在程序的整个运行过程中只存储一份,整个引号只得内容最为指向该字符串存储位置的指针。这一点与把数组名作为指向数组存储位置的指针类似。