Chinaunix首页 | 论坛 | 博客
  • 博客访问: 279139
  • 博文数量: 138
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 971
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-03 10:05
文章分类

全部博文(138)

文章存档

2016年(1)

2015年(137)

我的朋友

分类: C/C++

2015-06-04 21:34:37

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) |
给主人留下些什么吧!~~