首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    sizeof和strlen的区别

    简单介绍: . sizeof是一个操作符,是用来计算操作数的所占内存的大小的,单位是字节 strlen是用来计算字符串的长度的一个函数,需要引用头文件string.h 区别在于sizeof是操作符...,而strlen是一个函数 . sizeof是不关心内存中所存放的数是多少的,只关心内存中的数所占几个字节 而strlen则需要关系内存中的数的多少,strlen函数用来计算字符串的长度,其计算的终点是...字符‘\0’,只要strlen函数遇到了‘\0’,就会停止计算字符串的长度,得出最终的字符串的长度大小 ps:如果字符串中没有‘\0’,则strlen函数就会继续往下寻找,直到找到‘\0’为止,这可能会造成越界访问...,使得其得出的字符串长度值错无并且其值的大小是一个随机的值 小练习: 我在网上看见了一个关于sizeof和strlen函数的有趣的题目,有利于我们去理解题目之间的区别,在这里我分享给大家: #include

    21100

    数组strlen和sizeof常见误区

    这里我也给大家注释了sizeof计算的是总的元素个数(包含\0),我们都知道字符串最后都隐藏了一个“\0”,sizeof会把“\0”也计算在内,而strlen计算的是有效的元素个数(\0之前的元素个数)...接下来主包就出一道题来考一下大家  这里我们定义了数组的下标,左下标是0,但是右下标我们应该怎样用strlen和sizeof分别表示出来呢?...在解答这个问题之前我们先分别使用strlen和sizeof把数组arr1的长度打印出来看一下 注意:这里的空格也计算在内 这里的右下标应该怎样用strlen和sizeof表示呢?...strlen-1结果才正确。...最后给大家再次总结一下: sizeof计算的是总的元素个数(包含\0)                                               strlen计算的是有效的元素个数(\

    6110

    c语言strlen函数的模拟实现

    1.strlen函数介绍 strlen的功能: 函数返回字符串str 的长度( 即空值结束符之前字符数目)。...; printf("%zd\n",strlen(str)); printf("%zd\n",sizeof(str)); } 输出结果如下图所示: 我们会发现 : sizeof(str); 比strlen...(str) 的结果多一 这是因为strlen()函数不统计’\0’ ,而sizeof统计’\0’ (因为统计的是整个数组的大小) 在监视窗口里我们也可以证实‘\0’的存在: 下面是strlen()...函数的官方解释: 2.strlen()函数的模拟实现 (1)循环计数法 我们在了解了strlen()函数的功能后,很容易想到利用 指针传递字符串地址,然后判断是否 == ‘\0’的操作来进行计数,代码如下...; unsigned int len = strlen(str); printf("len is %zd\n",len); len = my_strlen(str); printf("my len

    47410
    领券