读书人

c/c++ 字符数组、字符指针跟字符串类型

发布时间: 2012-08-03 00:12:14 作者: rapoo

c/c++ 字符数组、字符指针和字符串类型总结帖

一、字符数组

定义略

初始化方式:

1 char c[10]={'a','b','c','d','e','f','g','h','i','j'};

注:当初值个数小于规定长度时,其余元素自动填充为 '\0'

2 char c[]={'a','b','c','d','e','f','g','h','i','j'};

系统自动计算长度为10

3 char c[]="abcdefghij"; 或 char c[]={"abcdefghij"};

此时长度为11,因为创建字符串的时候最后面自动添加了'\0','\0'的ASC2码为0

字符串输出:

谨记一条,以'\0'为结束符,如以下程序是不安全的

string str="hello";cout<<str.size()<<endl;//长度检测cout<<str.empty()<<endl;//检测是否为空
输出:

5

0

需要指出的一点是:

str.size()返回值的类型是string::size_type,存储str.size()结果的变量必须为string::size_type类型,虽然不清楚它具体是个神马类型(连c++ primer上都这么说),但可以肯定是不同于int类型的,因为它是unsigned类型的,这样它能表示的长度是signed类型的两倍,此外肯定还有别的优越性。

下标操作的时候,str用法与数组名类似。

如非特殊需要,笔者的编程基本全部使用了此类库。



读书人网 >C++

热点推荐