我觉着 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 说的对。我也是这么个意思。
温馨提示:答案为网友推荐,仅供参考