也许是对C语言撞我的不熟练,也许是集中语言搞混淆了,知道java中有Sting类,也感觉C中也会有string类型,其实不然。

一直以来对这个问题都不是很清楚:只是知道C语言里有<string.h>这个头文件,所以就想当然的认为C语言里有string这个 类型,可以通过下面这种形式来声明string的变量 string aString; 后来编程时发现通不过编译,又查资料才知道原来C语言里压根就没有string这个类型,所以字符串都是通过char数组来存储的, 而<string.h>这个头文件里声明的函数原型也全是针对char数组的种种操作。 直到C++中才出现了string这个类(注意是类, 不是类型 )。这是网上我找到的比较满意的答复:

" C语言中有string类型变量吗"
这里的 string 有 二 义性。

(1) 如果 string 是普通词汇,“C语言中有字符类型变量吗”, 答,有。 字符类型 用 char 声明。
char str[]="This is a string";

(2) 如果 string 是专用词汇,“C语言中有string类型变量吗”,答,没有。string 是 类(C++中),是 class, 不是 类型,不是 type.
类 的 声明 用 构造函数初始化,或 new 声明。
类 -- C++, 不是 C

转自: http://blog.sina.com.cn/s/blog_4a1648c50100qphh.html

也许是对C语言撞我的不熟练,也许是集中语言搞混淆了,知道java中有Sting类,也感觉C中也会有string类型,其实不然。一直以来对这个问题都不是很清楚:只是知道C语言里有这个头文件,所以就想当然的认为C语言里有string这个 类型,可以通过下面这种形式来声明string的变量 string aString; 后来编程时发现通不过编译,又查资料才知道原来C语言里压根就没有string C++ 语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿意使用C或者 C++ ,为什么?原因众多,其 之一就是C/ C++ 的文本处理功能太麻烦,用起来很不方便。以前没有接触过其他语言时,每当别人这么说,我总是不屑一顾,认为他们根本就没有领会 C++ 的精华,或者不太懂 C++ ,现在我接触 perl, php, 和Shell脚本以后,开始理解了以前为什么有人说 C++ 文本处理不方便了。 总之,有了 string 后, C++ 的字符文本处理功能总算得到了一定补充,加上配合STL其他容器使用,其在文本处理上的功能已经与perl, shell, php的距离缩小很多了。 因此掌握 string 会让你的
C语言 没有 string 类型。 string 类型是 C++ 、java、VB等编程语言 的。 在java、C# String 类是不可变的,对 String 类的任何改变,都是返回一个新的 String 类对象。 string C++ 标准程序库 的一个头文件,定义了 C++ 标准 的字符串的基本模板类std::basic_ string 及相关的模板类实例。 而在C语言 ,C语言 没有字符串类型,字符串是存放在字符型数组 的,将字符串作为字符数组来处理的。为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符’
##C语言 没有 string 类型## #include<stdio.h> #include<stdlib.h> int main(int argc, char *argv[]) { char c[][5] = {"abc","haha","no"}; for (int i=0; i<3; i++) { printf("%s\n",c[i]); } return 0; } 一直以来对这个问题都不是很清楚:只是知道C语言里有< string .h这个头文件,所以就想当然的认为C语
在Java编程语言 ,char和 String 都是用来存储文本数据的数据类型,但它们有一些区别。 1. char是一个基本数据类型,用来存储单个字符,而 String 是一个类,用来表示一串字符序列。 2. char类型的值可以用单引号括起来,例如'c',而 String 类型的值必须用双引号括起来,例如"Hello, world!"。 3. char类型的值只能存储一个字符,而 String 类型的值可以包含多个字符。 4. char类型的值可以直接比较,例如'c' == 'd',而 String 类型的值必须使用equals()方法进行比较,例如"hello".equals("world")。 因此,char和 String 在用途上有所不同,char主要用于存储单个字符,例如用于表示一个字母、数字或符号,而 String 则用于存储一串字符序列,例如用于表示一个单词、句子或文本段落。