string的'\0'

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
  

猜你喜欢

转载自blog.csdn.net/qq_43235540/article/details/86683700