sizeof函数和strlen()函数


 sizeof函数功能:计算数据空间的字节数  在32或者64位编译器下所占字节是不同的,具体如下:

     1、32位编译器:

                   32位系统下指针占用4字节;

        char:1个字节

       char *(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
       shortint : 2个字节
       int   4个字节
       unsigned int : 4个字节
       float:   4个字节
       double:    8个字节
       long:    4个字节
       longlong:   8个字节
       unsigned long:   4个字节
2、64位编译器:
      64位系统下指针占用8字节
     
    char :1个字节
     char* (即指针变量): 8个字节
     shortint : 2个字节
     int   4个字节
     unsigned int : 4个字节
     float:   4个字节
     double:    8个字节
     long   8个字节
     longlong:   8个字节
     unsigned long:   8个字节


关于strlen()函数的使用说明  strlen()函数用来计算字符串的长度,其原型为:unsigned int strlen(char*s)

1、strlen()用来计算指定的字符串s的实际长度,不包括结束字符“\0”;
例1:
   char str[100]=“http://see.xidian.edu.cn./cpp/u/biaozhunku/”;
   定义了一个大小为100的字符数组,但是仅有开始的43个字符被初始化了,剩下的都是0,
   sizeof(str)等于100
   strlen(str)等于43.
 但是需注意:如果字符的个数等于字符数组的大小,那么strlen()的返回值就无法确定了
例2:
    char str[6]="abcxyz";
    strlen(str)的返回值是不确定的。
 strlen()函数计算的是字符串的实际长度,遇到第一个“\0”结束,如果只对字符数组定义但没有给他赋初值,这个结果是不定的,它会
 从首地址一直找下去,直到遇到‘\0’停止。而sizeof()返回的是变量申明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是
 一个操作符,strlen()是函数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值