对于字符串的存储有多种形式,下面来看一下。
上代码:
1 #include<iostream> 2 #include<string> 3 using namespace std; 4 5 int main() 6 { 7 char *s="ABCDE";//是将一个字符串常量赋值给一个指针变量 8 char s1[]={"ABCDE"}; 9 //char s[5]={"ABCDE"}; 10 char s2[6]={"ABCDE"}; 11 char s3[5]={'A','B','C','D','E'}; 12 char s4[6]={'A','B','C','D','E','\0'}; 13 string str="ABCDE"; 14 string str1="ABCDE你好!";//包含汉字的字符串 15 puts(s); 16 cout<<strlen(s)<<" "<<sizeof(s)<<endl;//此处的sizeof计算的是指针变量的字节大小,32下为4字节 17 puts(s1); 18 cout<<strlen(s1)<<" " <<sizeof(s1)<<endl; 19 puts(s2); 20 cout<<strlen(s2)<<" " <<sizeof(s2)<<endl; 21 puts(s3);//因为该字符串无结束符,所以后边会输出乱码 22 cout<<strlen(s3)<<" " <<sizeof(s3)<<endl; 23 puts(s4); 24 cout<<strlen(s4)<<" " <<sizeof(s4)<<endl; 25 cout<<str<<endl; 26 cout<<str.length()<<" "<<sizeof(str)<<endl;//也可用str.size()计算字符串的长度,计算的是字节数 27 cout<<str1.length()<<" "<<sizeof(str1)<<endl;//看一下str1就知道了 28 29 system("pause"); 30 return 0; 31 }