c中string和char的主要区别在哪

2021-03-07 14:41:57 字数 3098 阅读 3910

1楼:匿名用户

'a'是char, "a"是char string,这两者都是普通的字符和字符串,和c中没什么不同

2楼:匿名用户

1、char是字符类型

2、string是字符串类型

虽然一字之差,但其本质是很大的。

1. char属于基础类型(c++),在c#中它属于值类型(value type)。char类型的长度是固定的,c++中它可能是1个字节,或者2个字节(取决于是否为unicode char),而在c#中,它永远是2个字节。

2. string是一个模板类型,也就是一个class(c++)。在c#中它属于引用类型(reference type)。

string的长度是无法明确取得的。也就是无法通过sizeof来取得,因为它不是一个基础类型,它本身并不固定长度,而取决于内部包含的 字符。

3楼:匿名用户

一个是类类型,一个是基本的数据类型,string这个类封装了很多c语言对char的一些系统的api操作。

4楼:c加语言初学者

char a,a就是一个字符。

string a,a就是字符串。

c++中“string”与“char”区别在**?

5楼:匿名用户

string 是字

来符串char是字符

char数组可以表示自字符串,比如:char[10]就是一个字符串而string就可以不用定义后面的数组,还有char定义的字符串后面与string定义的字符串相比较起来缺少一个‘终结符’。

c++中string和char定义的字符串和字符数组的区别,在用时是不是一样的?

6楼:司马刀剑

明确一下:

你说的char是c++的内置类型char么你说的string是标准库中定义的类么

如果是的话,它两的区别有:

char数组仅仅是存储字符串用的,c库中有一系列操作字符串的函数string是类,它包含一个可变长度的char数组,封装了常用的字符串操作函数

它们之间可以转化

7楼:匿名用户

不一样的,string是一个以上的char组成,最后一位还又字符串结束符\n

string,可以存储,单词句子,

char只能存储字母,字符等一位的符号

8楼:最大的_大宝宝

string是一个类,一个模板类,有些c++的书可能会介绍这个类,可以重点学一下

c/c++中string与char的区别,它们之间如何相互转换!

9楼:匿名用户

是旧的duc头文件,对zhi应的dao是基于char*的字符串处理函数;回

是包装了std的c++头文件,对应

的是新的strng类;

是对应旧的答c头文件的std版本。

如果使用后两种

要加上这一句

using namespace std;

10楼:匿名用户

在c语言中,抄string 是定义一个字符串,存储的是一段如“abcd”的数据,而且最后还有一个结束符'\0';

char 是定义一个字符,存储一个字符,占一个字节。

c++ string 和 char数组的区别是什么

11楼:匿名用户

string str = "hello";

int len = str.length(); // 或者是str.size();

length()和size()总体来说bai是一du样的,由于std::string也是一个zhi容器,和其他的c++ stl一样,所dao以有内size成员函数,length是为了更清楚的表达容

是字符串的长度的一个函数。

12楼:匿名用户

string是模板类,是类,你的变量是对象。char数组是c/c++基本类型。

c++中的char定义的数组和string的字符串有什么区别啊?

13楼:匿名用户

明确一下:

你说的char是c++的内置类型char么你说的string是标准库中定义的类么

如果是的话,它两的区别有:

char数组仅仅是存储字符串用的,c库中有一系列操作字符串的函数string是类,它包含一个可变长度的char数组,封装了常用的字符串操作函数

它们之间可以转化

14楼:匿名用户

你问的数组问题的话。不知道我的解释你感觉怎么样。

在数据结构的课程里。

char型的数组是这样的:

char[0] = 'a' char[1] = 'b'

而string[0] = "asdasdasd" string[1] = "asdasdasd"

这样的解释应该有助于你的理解

15楼:匿名用户

对于char数组

:#include

int main()

运行结果:

www**q

a=www

b=**q

a大于b

press any key to continue二者的区别在于:在char数组中 输入www回车,输入**q回车 即可完成输入,程序执行

在string对象中 输入www回车,输入**q回车,还要再输入一个回车才能完成输入

回车传送数据到程序中,getline替换回车为'\0' ,写字符串难道不是这样吗?

为什么后者还要多输入一次回车呢??

16楼:匿名用户

一个是 's'

一个是 "s"

就这点区别

17楼:圭帆召胤

都没有说到重点,

char

是值类型!

string

是引用类型!这个可是本质的区别。

string可以被实例化,而char不可以。

C++中delete和delete的区别

1楼 du知道君 你是不是问 delete 和 delete 的区别 一个是释放单个物体 比如 class a a p new a 一个是释放物体数组 a p new a 50 delete a c 中delete和delete的区别 2楼 育知同创教育 delete or delete 问题没说清...

C++中delete和delete的区别

1楼 千锋教育 主要差别是 是否调用析构函数 delete data 会自动调用data数组每个元素的析构函数 delete data则不会 2楼 匿名用户 没区别!!!你确定你问题问的对? c 中delete和delete的区别 3楼 育知同创教育 delete or delete 问题没说清楚啊...

c语言中的在前"和在后"的区别是什么

1楼 運命 抗 在前是先加1在运算, 在后面是先运算在加1例子如下。 int i 0 printf d i i加了1才给传递参数,所以输出是1i 0 printf d i 前传递参数,所以还是输出原来的值是0printf d i 因为上面那句加了1所以 输出是1 在c语言中, 放在前面和后面有什么区...