一:字符串的含义
(1)如何表明字符串?
字符串是由零个或多个字符组成的有限序列。
” ” ——”引号里面的内容”;如果双引号里面没有东西,0个字符——空字符串——空串;如果双引号里面有东西,那么就是表明必定意义的字符串;
#include<stdio.h>
int main()
{
“”;
return 0;
}

(2)两种操作,为何得出的结果不一样?
#include<stdio.h>
int main()
{
char arr1[] = “cad”;
char arr2[] = { 'c','a','d' };
printf(“%s
“, arr1);
printf(“%s
“, arr2);
return 0;
}

(3)解析:
第一个数组得出的结果是”cad”
第二个数组得出的结果是”cad”后面还带了一串数字;
这是为什么呢?怎么不能表达出与上面一样的结果,多余出来的东西又是什么呢?带着这样的问题,我们接下来往下看!
实则隐藏在这其中关键的东西,就是我们看不见的””

二:''的含义
(1)””是表明字符串的结束标志,转义字符,不算作字符串内容;
(2)”” 是字符串的结束标志,也被称作空字符(null character)。在 C 语言和许多其他编程语言中,字符串是由字符数组表明的,而每个字符串都以空字符 “” 结尾。
这个空字符告知编译器字符串已经结束,所以它并不算作字符串的内容。
“” 字符在数组的最后,表明字符串的结束。但是它并不包含在字符串的实际内容中。
(3)例如,如果你有一个包含以下内容的字符串:
char str[] = “Hello, world!”;
那么,这个字符串的内容实际上是:
Hello, world!

strlen——string length——计算字符串长度的
#include<stdio.h>
int main()
{
char arr1[] = “cad”;
char arr2[] = {'c','a','d'};
printf(“%d
“, strlen(arr1));
printf(“%d
“, strlen(arr2));
return 0;
}

3:”cad “
15:{'c','a','d'};找了15次,遇到了'',这是一个随机值;


如果有不对的地方,欢迎批评指出!如果有不懂的地方,也可以一起讨论!





