注册 登录
编程论坛 C++教室

什么是C-风格字符串,除了c-风格的字符串,还是什么风格的呢?

go_hao 发布于 2009-11-07 22:14, 738 次点击
什么是C-风格字符串,除了c-风格的字符串,还是什么风格的呢?
总看到书上这样讲,我不明白,c-风格的含义是什么?
难道还有不是c风格的字符串吗?
那又是什么风格呢?
2 回复
#2
东海一鱼2009-11-07 22:40
确切地说,C没有字符串类型。C的字符类型实际上是字符数组。

所谓的C风格的字符串,实际上就是末尾元素为零的字符数组。

其他字符串风格取决于语言设计思想,比如Pascall语言的字符串类型。为了强化类型管理与简化实现。Pascall的字符串类型不要求字符串尾部有特殊字符表示字符串结束。而是采用了一种数据结构来管理字符串。在字符串头部分别有两个字段表示了该字符串的长度和引用计数。这样简单的指针赋值直接复制地址并增加引用计数即可。而且字符串长度也不用每次都要重新计算。

后来的C++、Java等语言都借鉴了这样的设计思想。



[ 本帖最后由 东海一鱼 于 2009-11-7 22:42 编辑 ]
#3
flyingcloude2009-11-08 15:04
在c的时代里,用的都是字符数组,以'\0'为结束符,称为c串。
c++里对c串进行了封装,出现了string。
1