字符串变量

字符串是用于存储文本,一个字符串变量可以包含一组用双引号括起来的字符。
Strings are used for storing text. A string variable contains a collection of characters surrounded by double quotes:

例如:创建一个字符串变量

string geeting= "hello"
cout<<sizeof(geeting).   

字符串一般占字节数:8+

下面一下程序输出结果为?

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#include <iostream>
using namespace std;

int main()
{
    string firstName ="Isaac";
    string lastName ="Newton";
    string fullName;
    fullName=firstName+lastName;
    cout << fullName;
    return 0;
}

string类型也可以用下标来操作,最后一个字符也是’\0′ (C++11标准)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#include <iostream>
#include <string>
using namespace std;

int main()
{
   string myString ="Hello";
   myString[0] ='J';
   cout << myString<<endl;
   if(myString[5]=='\0')cout<<"I know you have tail";
   return 0;
}

字符型变量与字符串变量
备注:
sizeof 是一个关键字,它是一个编译时运算符,用于判断变量或数据类型的字节大小。sizeof 运算符可用于获取类、结构、共用体和其他用户自定义数据类型的大小。
strlen所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符’\0’为止,然后返回计数器值(长度不包含’\0′)。
strlen参数只能是char*,且必须是以’\0’结尾。
size()是string类型的成员函数,调用方式为s.size(),它返回的值是s的大小,也就是s的长度。成员函数是指某个类型的特有函数。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#include <cstring>
#include <string>
#include <iostream>
using namespace std;
int main(){
    
    char   a_string[]={'a','b','c','\0'};//c-style字符串
    char   b_string[]="abc";     //c-style字符串
    char   c_string[]={'a','b','c'}; //字符数组
    string d_string="abc";    //C++ STL类型字符串
    
   
    cout<< sizeof(a_string)<<' '<<strlen(a_string)<<' '<<a_string<<endl;
    cout<< sizeof(b_string)<<' '<<strlen(b_string)<<' '<<b_string<<endl;
    cout<<sizeof(c_string)<<' ';
    for (int i = 0; i <sizeof(c_string); i++)cout<<c_string[i];
    cout<<endl;
    
    cout<< sizeof(d_string)<<' '<<d_string.size()<<' '<<d_string<<endl;
 
}
Scroll to Top