c风格的字符串一定以'\0',但string对象表字符虽是以'\0'结尾但它的性质与c风格是不同的。
string对象字符解决了数组内存消耗和内存不足的问题
——————————————————————————————————————————————————————————————————————————————————
1.字符串介绍
字符串是 存储在内存的连续字节中的一系列字符。
c++处理字符串有两种方式:c风格字符串和string类库的方法。
2.C风格字符串
系统会 自动以空字符结尾,空字符被写作'\0',其ASCII码为0;
注意:一定要以 空字符结尾 的才是c风格。如:
char dog[6]={'l','o','v','e','l','y'};
char cat[6]={'n','o','b','l','e','\0'};
利用cout显示cat数组,能显示5个字符,而dog数组没有空字符,显示了6个字符后会一直向后读取内存,直到空字符。
还可以初始化为:
char bird[10]="Mr.cheeps";//第一种
char fish[]="Bubbles";//第二种
这种用引号括起来的字符串 隐式地包括空字符。
第二种方式更加安全也不会浪费内存空间。
1.字符串常量(字符串字面值)
由双引号扩起来的零个或多个字符。
字符串常量和字符常量比较
字符常量('s')是字符串编码的简写方式。在ASCII系统上,'s'只是83的另一种写法。
字符串常量("s")表示两个字符(‘s’和‘\0’字符)组成的字符串。并且"s"代表的是字符串