拿一段代码来解释一下:
#include <iostream>
using namespace std;
void main() {
string nm= "asdf"; //第一种
char chr[] = "asdf"; //第二种,因为是char数组,故string转换为了char
char io[] = {'a','s','d','f','\0'}; //第三种
cout << nm << ' ' << chr<<' '<<io;
}
输出的结果为:
asdf asdf asdf
从结果来看以上三种情况几乎是等价的。
*需要注意的是字符串结尾自带一个 ‘\0’
*而'\0'是字符串结束的标志
*计算字符串长度时‘/0’不会被算入,但作为数组计算长度时则会算入。