目录
一、什么是字符串
-
所谓字符串本质上就是以'\0'作为结尾的特殊字符数组
二、定义字符串的具体格式
(1)char 字符串名称[字符串长度] = {字符串所含元素};
注意点:如果字符串所含元素中我们没有加上'\0',那么字符串长度应该就为字符串实际长度+1;
因为如果不使字符串长度等于字符串实际长度+1,它就仅仅是一个字符数组,而不是我们所需要的字符串
例如:
char name[6] = {'h', 'e', 'l', 'l', 'o'};
(2)char 字符串名称[] = {字符串所含元素};
注意点:通过这种方式来定义字符串,则需要在{}中写上'\0'
因为不手动在字符串末尾加上'\0',它就仅仅是一个字符数组,而不是我们所需要的字符串
例如:
char name[] = {'h', 'e', 'l', 'l', 'o', '\0'};
(3)char 字符串名称[] = "字符串所包含元素"
例如:
char name[] = "hello"与第二种等价
三、求字符数组和字符串长度比较
字符数组: char cArr[] = {'I','L','O','V','E','C'};
字符串: char sArr[] = "ILOVEC";
- sizeof()运算符求的是字符数组的长度,而不是字符串长度,所以两者分别是6,7
- strlen()是求字符实际长度,并且以'\0' 结束 ,两者分别是7,6
- sizeof返回定义arr数组时,编译器为其分配的数组空间大小,不关心里面存了多少数据。
- strlen只关心存储的数据内容,不关心空间的大小和类型。