sizeof(),strlen(),size(),length()的区别和各自功能——C++求字符长度

文章详细介绍了C++中sizeof运算符用于获取变量所占内存大小,而strlen函数用于计算字符数组的实际字符数,不包括结束符。对于string类型,length()和size()函数等价,返回存储的字符数量。示例代码展示了这些函数在char数组和std::string对象上的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

  • sizeof():申请多少
    • 运算法
    • 统计变量在定义时申请了多少的内存空间,不管里面是否有数据
    • char类型和string类型都可以
    char sth1[15] = "abdce";
    std::string sth2 = "fghi";

    int a1 = sizeof(sth1);
    int a2 = sizeof(sth2);
    std::cout << "sizeof(sth1[15]): " << a1 ; // sizeof(sth1[15]):15
    std::cout << "sizeof(string shh2):" << a2 ; // sizeof(string shh2): 40
  • strlen():存几个
    • 参数必须是字符型指针(char*),char[]和string都可以使用
    • 用于查询char[] 数组中存储了几个字符的,存几个就是几
    • string类型要调用c_str()函数,
    char sth1[15] = "abdce";
    std::string sth2 = "fghi";
    
    // strlen()
    int c1 = strlen(sth1);
    int c2 = strlen(sth2.c_str());
    std::cout << "strlen(sth1[15]):" << c1 ; //strlen(sth1[15]):5
    std::cout << "strlen(string.c_str()):" << c1 ; //strlen(string.c_str()):4

  • length()size():存几个
    • 两者都是函数,不是运算法
    • 适用于string类型,不适用于char[]
    • size()函数与length()函数作用相同,在C++中
    • 都是用来计算string类型变量里面存了几个字符的,存了几个字符就是几
    char sth1[15] = "abdce";
    std::string sth2 = "fghi";
    
    // lenght() size()
    int b1 = sth2.length();
    int b2 = sth2.size();
    std::cout << "sth2.length():" << b1; // sth2.length():4
    std::cout << "sth2.size(): " << b2;  // sth2.size(): 4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值