字符数组
char word[]={'h','e','l','l','o'};
它只是字符数组,不是字符串,因此不能做字符串的运算。
字符串
char word={'h','e','l','l','o','\0'};
or
char word={'h','e','l','l','o',0};
字符串——以0(整数0)结尾的一串字符
‘\0’和0是一样的(但是我们有时候会更喜欢‘\0’因为它一定只占一个字节),但是和‘0’不一样。
0标志字符串的结束,但它不是字符串的一部分。计算字符串长度时不包含0。
字符串以数组的形式存在,但访问可以用数组也可以用指针,更多的是指针。
<string.h>中包含很多可以处理字符串的函数。
字符串变量
char *str="hello";//这个hello会被放在哪呢?暂时不知道
char word[]="hello";
char line[10]=hello;
字符串常量
“hello”称为字符串的字面量。
“hello”会被编译器变成一个字符数组放在某处,结尾还有一个表示结束的0。
两个相邻字符串常量常会被连接起来。
printf("请分别输入身高的英尺和英寸, "
"如输入\"5 7\"表示5英尺7英寸 "\\c语言会自动连接两个字符串
另一个做法
printf("请分别输入身高的英尺和英寸, \
如输入\"5 7\"表示5英尺7英寸 "\\这样则表明第一行的字符串没有结束,但是第2行开头的两个tab也会输出,所以通常顶格写