c++ 字符串相关问题

1.char[] as是什么?

char[] a={'a','b','c'};
sizeof(a)的值应该为3。
char[] b={"abc"};
sizeof(b)的值应该是4。

2.

string str是什么类型?sizeof(str)调试结果为什么是24?,strlen(str)调试不出来结果,报错?

若string str={'a','b','c','\0','X'};
那么sizeof(str)为5,strlen(str)为3


 

char a[]={'a','b','c'}; //这是字符数组,里面有三个单字符元素.
sizeof(a)的值应该为3。
char b[]={"abc"};      //这是字符串,里面隐含了'\0',实际为:"abc\0".
sizeof(b)的值应该是4。

//C++中,string 是类,要想使用标准C++中string类,必须要包含 #include <string> 。

若string str={'a','b','c','\0','X'};
那么sizeof(str)为5,strlen(str)为3

string strOutput = "Hello World";
int nLen = strOutput.length();
//string使用 length() 方法计算字符串长度,该方法计算结果为字符串的实际长度
//string使用 compare(const string& str) 方法进行字符串比较,还有很多方法,可以去搜下。