size(),lenth(),sizeof(),strlen()四者关系

1.size()、lenth()、sizeof()、strlen()的区别

1.1sizeof()、strlen()

sizeof(…)是运算符,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大小,可能不是实际大小。由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。

strlen(…)是函数,要在运行时才能计算。参数必须是字符型指针(char*),且必须以"\0"结尾。当数组名作为参数传入时,实际上数组就退化成指针了。它的功能是:返回字符串的长度。该字符串可能是自己定义的,也可能是内存中随机的,该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符’\0’。返回的长度大小不包括’\0’,返回的是字符串的真实长度

sizeof(字符串str)个数要带 '/0',strlen(字符串str)个数不带 '/0'

int main()
{
    char *str1 = "abcdef";
    char str2[] = "ab\0cd";

    printf("sizeof(str1)=%d\n",sizeof(str1));//4
    printf("strlen(str1)=%d\n",strlen(str1));//6

    printf("sizeof(str2)=%d\n",sizeof(str2));//6
    printf("strlen(str2)=%d\n",strlen(str2));//2

    return 0;
}

1.2size()、lenth()

C++中size()函数除了跟length()函数一样可以获取字符串长度之外,还可以获取vector类型的长度。

C++中length()函数只能用来获取字符串长度

str.length()和str.size()是用于求string类对象的成员函数

string str = "ADAS";
vector < int> num(10,5)

int len = str.size();//4
int len = num.size();//10
int len = str.length();//4

2.return返回值

return 0 一般用于函数主程序结束

return 1 表示正确

return -1 表示失败

bool类型的函数返回只有true或者false,即return false return true

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值