strlen与sizeof的区别

strlen与sizeof在本质上并没有什么区别。

strlen用来计算字符串的长度,遇到'\0'停止。而且strlen是一个库函数,引用时需要引用头文件。

sizeof是计算所占空间大小,一般来说包括'\0'。用来计算变量,数组,类型的大小。是一个操作符。

eg: #include <stdio.h>

     #include<string.h>

     int  main ( )

     {  

          char  arr1[ ] ="abc";

          char  arr2[ ] ={'a','b','c'};

          printf("%d\n",sizeof(arr1));

          printf("%d\n",sizeof(arr2));

           printf("%d\n",strlen(arr1));

           printf("%d\n",strlen(arr2));

 

           return  0;

      }

打印结果为4 3 3随机值

解释:char1中包括a b c d \0,所以sizeof的空间大小为4个字节。char2中包括 a b c,所以sizeof的空间大小为3个字节。strlen用来计算字符串的长度,在char1中遇到\0就会停止,故strlen(arr1)的值为3。char2中只有 a b c 没有\0,所以strlen在计算arr1字符串长度时会得到一个随机值

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值