C语言有string吗?

来源:互联网 发布:印度主流聊天软件 编辑:程序博客网 时间:2024/05/16 11:16

一直以来对这个问题都不是很清楚:只是知道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 是 类,是 class, 不是 类型,不是 type. 
类 的 声明 用 构造函数初始化,或 new 声明。 
类 -- C++, 不是 C

原创粉丝点击