C语言中有string吗?

Python018

C语言中有string吗?,第1张

一直以来对这个问题都不是很清楚:只是知道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.

" C语言中有string类型变量吗"

这里的 string 有 二 义性。

(1) 如果 string 是普通词汇,“C语言中有字符类型变量吗”, 答,有。 字符类型 用 char 声明。

char str[]="This is a string"

(2) 如果 string 是专用词汇,“C语言中有string类型变量吗”,答,没有。string 是 类,是 class, 不是 类型,不是 type.

类 的 声明 用 构造函数初始化,或 new 声明。

类 -- C++, 不是 C