字符串
一种由双引号引起来的一串字符称为字符串,比如:
"hello world"
字符串最后面一定有'\0',但是它是不可见的,我们可以用sizeof来计算一下字符串长度。
我们可以看到,本身"hello world"是只用是一个字符的,但是sizeof算出来的结果是12,说明有一个我们看不到的字符在最后面,就是'\0',而'\'0’就是我们转义字符的一种,它表示字符串结束标志,在我们C语言中,字符串其实和字符数组一样,所以我们的写法也可以是:
char ch[]={'h','e','l','l','o',' ','w','o','r','l','d'};
那我们上面说,字符串结束标志是'\0',但是我们这样写并没有写'\0',那像上面这样写,我们来计算一下整个字符串长度是不是12。
我们可以看到是11,这是因为我们前面数组没有给定一个元素个数,所以后面有多少元素元素个数就是多少,我们打印一下这个字符串看看。
我们可以看到,同样我们想用来表达"hello world"的两串字符串打印出的结果是不一样的,这就是
'\0'的作用,我们的编译器遇到字符串的时候是会去找这个'\0'的,找到'\0'才算这个字符串结束,我们的ch2没有自己带一个'\'0',所以编译器会一种往后面找,找到'\0'才会停下来,所以我们这个方式的正确写法是
char ch[]={'h','e','l','l','o',' ','w','o','r','l','d','\0'};
在这最后面加上一个'\0'就行。
转义字符
转义字符就是一个'\'加上一个字符或者字母,所有转义字符就如上图所示,其中'\0'还代表了字符串结束标志。