1 字符串字面值
基本内置类型,
双引号括起来的零个或多个字符(包括非打印字符)表示,用
字符常量的数组 的形式表示。
为与C兼容,C++中的字符串字面值都由编译器自动在
末未添加一个\0。‘A'表示单字符A,“A”表示字符串A(两个字符)
length=sizeof(字符串字面值)
ps:对于字符型二维数组,每个元素都是一个字符串字面值,是用“”括起来的零个或多个字符(char型变量),末尾都要自动添加\0,
eg:char a[2][3]={"ab","cd"};sizeof(a)=6;
2 string
标准类型,是一个C++标准库重定义的 类 。
length=string.size();
3 C风格字符串
实际上是C的标准库函数提供的一种类型;#include
表现为 以空字符null结束的字符数组。(所以 字符串字面值是C风格字符串的一个实例)
常通过char *类型的指针来操纵C风格字符串
length=strlen(C风格字符串)
4 混合使用标准库类string和C风格字符串
可以用字符串字面值初始化string类对象
可以把C风格字符串用在任何可以使用字符串字面值的地方:
可以使用C风格字符串对string对象进行初始化或赋值
string类型的加法操作需要两个操作数,可以使用C风格字符串作为其中一个操作数,也可以将C风格字符串用作复合赋值的右操作数
但,在要求使用C风格字符串的地方不可以直接使用标准库string类型对象,要用string.c_str()返回C风格字符串。
5 char和int隐式转化
int a=‘A';
char ch=50;//ASCII为50 的字符是数字2
cout<
输出的结果是65 2;
原因:用char给int整数赋值,int的真值为char的ASCII数值
用int给char赋值,char的值为ASCII表中该int整数代表的字符;
阅读(698) | 评论(0) | 转发(0) |