C语言里为什么不做一个字符串的数据类型?

为什么只有字符的数据类型,而字符串的数据类型却没有?
我相信发明C语言的人不可能不会考虑到这个问题,但是我就是不知道当时不设计这个字符串类型究竟是有何用意?

我觉着 string类型对面相过程的语言 没必要吧。
C是面相过程的程序设计语言。
面相过程程序设计 思路里 值 和 函数(C里叫函数,面相对象时理解为操作,Java里习惯叫它 方法)是 分离开的。
面相对象程序设计 思路里 值 和 函数是 组合起来的。
string类型是 char[] 和 一些字符串函数 的 组合体(值和方法的 封装)。
string类型表示的 值 就是 char[],最高长度是 两万多。
而在C里,char[] 已经有了,针对 char[] 的字符串方法(strlen strcmp strcat)也有了。
没必要新做一个 数据类型吧,而且C也没有把值和操作放一起——封装的概念。
封装是 面相对象语言里提出来的

C++里:string a = "abc", b = "def"; a.apend(d);
很容易看出来,append 这个函数是 string 类型的,也就是a的,a的初始'值'就是 "abc"。
C里就:char a[9] = "abc", b[] = "def"; strcat(a, b);
这里,strcat函数就不属于任何类型,只是能处理 两个 char[] 类型数据而已。
@renshijie1018 说的对。我也是这么个意思。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-03
嗯,这个字符串你可以用字符数组来代替不就行了?而数组可以满足任何大量相同元素的数据类型捆绑在一起.
第2个回答  2013-11-03
c语言是面向过程的,不是面向对象的,弄个封装做个字符串类型,不是画蛇添足了么
第3个回答  2013-11-03
有的呀,char*就是字符串呀
大家正在搜