string的结尾和char的结尾都有’\0’;
但是对2者含义不同。
字符串和字符数组
char []叫做字符数组,然后带’\0’的字符数组叫做字符串。
字符数组不可以直接用%s输出,只能用for循环或者下标一个个输出。
string是c++里面提出来的,不是基本类型,所以不知道它叫啥。
string all;
all[0]='1';
all[1]='2';
all[2]='\0';
cout<<all<<endl;
//这个打印不出来,因为没有对all开空间,而且string的结尾的‘\0'不像字符串中的一样。
string all;
all.push_back('0');
all.push_back('1');
all.push_back('2');
cout<<all<<endl;
//如此就可以了
此外分清sizeof 和strlen的含义
char a[6]="123";
printf("%d\n",strlen(a));//输出3
printf("%d\n",sizeof(a));//输出6