首页 > 其他 > 详细

strlen和sizeof的区别

时间:2019-09-22 13:17:47      阅读:114      评论:0      收藏:0      [点我收藏+]

C语言中没有字符串,用的是字符数组来模拟字符串。

C风格的字符串时字符数组然后在末尾加0表示结尾。

在C语言中有strlen和sizeof两个函数求字符数组的长度函数,他们俩的区别就是是否把最后的结束标志也加上去。

strlen是不加的,他表示字符串的长度。

而sizeof求的是字符串在内存中的长度,所以它是加上最后的‘\0‘的

所以一般而言后者的长度会比前者多1。

#include<stdio.h>
#include<string.h>

int main()
{
    char buf[] = "abcd";
    printf("sizeof(buf) = %d\n",sizeof(buf));
    printf("strlen(buf) = %d\n",strlen(buf));

    return 1;
}

运行结果:

exbot@ubuntu:~/shareWin/CAndC++$ ./sizeofandstrlen
sizeof(buf) = 5
strlen(buf) = 4

strlen和sizeof的区别

原文:https://www.cnblogs.com/wanghao-boke/p/11566633.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!