C++中的Char定义的数组和String的字符串有什么区别啊?

C++中的Char定义的数组和String的字符串有什么区别啊?总分不清什么时候该用什么!
明确一下:
你说的Char是c++的内置类型char么
你说的String是标准库中定义察纤的类么
如果是的话,它两的区别有:
char数组仅仅是存储字符串用的败空仿,c库亏伏中有一系列操作字符串的函数
String是类,它包含一个可变长度的char数组,封装了常用的字符串操作函数
它们之间可以转化
对于char数组:烂尘
#include <iostream>

int main()
{
using namespace std;

char a[20];
char b[20];

cin.getline(a,20);
cin.getline(b,20);

cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;

if(strcmp(a,b)==0)
cout<<"a等于b"<<endl;
else if (strcmp(a,b)>0)
cout<<"a大于b"<<endl;
else
cout<<"a小亩历蔽于b"<<endl;

return 0;
}

运行结果:
www
qqq
a=www
b=qqq
a大于b
Press any key to continue

对于string对象:
#include <iostream>
#include <string>

int main()
{
using namespace std;

string a;
string b;

getline(cin,a);
getline(cin,b);

cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;

if(a==b)
cout<<"a等于b"<<endl;
else if (a>b)
cout<<"a大于b"<<endl;
else
cout<<"a小于b"<<endl;

return 0;
}

运行结果:
www
qqq

a=www
b=qqq
a大于b
Press any key to continue

二者的区别在于:在char数组中 输入www回车,输入qqq回车 即可完成输入,程序执行
在string对象中 输入www回车,输入qqq回车,还要再输入一个回车才能完成输入

回车传送数据到程序中,getline替换回车为'\0' ,写字符串
难道不是这样吗?
为什么后者还要多输入一次回车呢??迅州
你问的数组租岁问题的话。不知道我的解释你感肢姿觉怎么样。
在数据结构的课程里。

char型的数组是这样历型绝的:
char[0] = 'a' char[1] = 'b'


String[0] = "asdasdasd" String[1] = "asdasdasd"

这样的解释应该有助于你的理解
一个是 's'
一个是 "s"
就这点区别