美文网首页
strlen 和strcmp,strcpy,sizeof的区别

strlen 和strcmp,strcpy,sizeof的区别

作者: 七秒归零 | 来源:发表于2021-12-19 10:11 被阅读0次

1.strlen

         C语言 strlen 函数用来求字符串的长度(包含多少个字符)。strlen() 函数从字符串的开头位置依次向后计数,直到遇见\0,然后返回计时器的值。最终统计的字符串长度不包括\0。

           size_t strlen(const char* str); 参数 str 表示要求长度的字符串。

            注意:strlen 的返回结果是 size_t 类型(即无符号整型),而 size_t 类型绝不可能是负的。因此,语句“if(strlen(x)-strlen(y)>=0)”将永远为真。同样,就算表达式中同时包含了有符号整数和无符号整数,还是有可能产生意想不到的结果。

2.strcmp

        C 库函数 int strcmp(const char *str1, const char *str2) 把 str1 所指向的字符串和 str2 所指向的字符串进行比较。

        该函数返回值如下:

                  如果返回值小于 0,则表示 str1 小于 str2。

                  如果返回值大于 0,则表示 str1 大于 str2。

                   如果返回值等于 0,则表示 str1 等于 str2。

3.strcpy()

         char *strcpy(char *dest, const char *src) 把 src 所指向的字符串复制到 dest。


4.sizeof

          sizeof 是一个单目运算符 ,相对于函数 strlen,它包括结束字符 null。同时,对 sizeof 而言,因为缓冲区已经用已知字符串进行了初始化,其长度是固定的,所以 sizeof 在编译时计算缓冲区的长度。也正是由于在编译时计算,因此 sizeof 不能用来返回动态分配的内存空间的大小。     

相关文章

网友评论

      本文标题:strlen 和strcmp,strcpy,sizeof的区别

      本文链接:https://www.haomeiwen.com/subject/zzgafrtx.html