码迷,mamicode.com
首页 > 其他好文 > 详细

strlen函数与sizeof的区别

时间:2020-04-15 19:54:19      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:指定   数组   strlen()   函数   示例   love   sizeof   运行   长度   

1. strlen函数

【原型】:

size_t strlen(char const* str);

【作用】:

strlen 是一个函数,它用来计算指定字符串 str 的长度,但不包括结束字符(即 null 字符)

【实例】:

char sArr[] = "ILOVEC";
/*用strlen()求长度*/
printf("sArr的长度=%d\n", strlen(sArr));
// 结果:6

【注意】:

函数 strlen 返回的是一个类型为 size_t (无符号整型)的值,从而有可能让程序导致意想不到的结果
if(strlen(x)- strlen(y)>= 0) 将永远为真。

同样,就算表达式中同时包含了有符号整数和无符号整数,还是有可能产生意想不到的结果
if(strlen(x)- 5>=0) 将永远为真。

2. sizeof

【作用】:
关键字 sizeof 是一个单目运算符,而不是一个函数。与函数 strlen 不同,它的参数可以是数组、指针、类型、对象、函数等,如下面的示例代码所示:

char sArr[] = "ILOVEC";
/*用sizeof求长度*/
printf("sArr的长度=%d\n", sizeof(sArr));

相对于函数 strlen,这里的示例代码运行结果为 7(因为它包括结束字符 null)

【注意】:
sizeof在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。

strlen函数与sizeof的区别

标签:指定   数组   strlen()   函数   示例   love   sizeof   运行   长度   

原文地址:https://www.cnblogs.com/vivian187/p/12707521.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!