求字符串,字符,或数组的大小

一、sizeof(), sizeof' ' , sizeof" "三种情况

sizeof():括号里面可以是数组名,也可以“abc.....”;

sizeof' ':只能是字符,当是一个字符的时候大小为1,二三四个字符时则为4,大于4个字符则编译通不过

 sizeof" ":双引号里面是字符串,求出的长度是字符串 + ‘\0’ 的长度,即长度加1


二、strlen(), 和 .size()

对于string 类型,必须用.size(), 而char[] 型,则用strlen()


        char a[] = {1, 2, 3};

string str = "abc";  // 长度为3

        printf("Array is %d\n", sizeof(a)); //是字符数组的长度,3

        printf("Array is %d\n", sizeof("ab")); //是字符串ab的长度, 加上结束符,即长度是 2+1 = 3

cout<<strlen(a); // 字符数组的长度 3


printf("%d\n", sizeof(str));  //字符串的长度3
cout<<str.size()<<endl;  //字符串的长度3, 对于string 类型,必须用.size(), 而char[] 型,则用strlen()
//cout<<strlen(str);  //报错
printf(" %d\n", sizeof"xyzmn");  //字符串的长度, 加上结束符, 即 5+1 = 6

        printf("PI is %d\n", sizeof'P');  //单引号,1
printf("PI is %d\n", sizeof'PI');  //超出一个,则为4,超出4个,编译器会报错
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值