一、什么是strlen
strlen是一个C语言中常用的字符串处理函数,用于计算一个以空字符('\0')为结尾的字符串中的字符个数,即字符串的长度,不包括结尾的空字符。
这个函数通常备用哦过来确定字符串的实际长度,一边进行字符串操作或内存分配。在C语言中,字符串实际上是以字符数组的形式存储在内存中,以空字符结尾作为结束标记。strlen函数通过遍历字符串,直到遇到空字符为止,从而确定字符串的长度。
下面是strlen函数的原型:
size_t strlen(const char *str);
str是一个以空字符结尾的字符串。返回值是一个size_t类型的整数,表示字符串中非空字符的数量,不包括结尾的空字符。
二、如何使用strlen
以下是一个简单的示例,演示了如何使用strlen函数
//库函数strlen的使用
#include<string.h>//使用strlen库函数时需要包含的头文件int main()
{char ch[] = "Hello world!";size_t len = strlen(ch);//strlen返回的是一个size_t类型的数printf("%zu", len);//%zu用于格式化无符号整数size_treturn 0;
}
三、strlen函数的模拟实现
以下代码演示了如何模拟实现strlen
//模拟实现库函数strlen
//strlen的原型:size_t strlen(const char *str);//计数器方法
#include<assert.h>
size_t mystrlen1(const char* str)
{assert(str != NULL);int count = 0;while (*str != '\0')//没有遇到空字符时,计数器和指针都++{count++;str++;}return count;
}//递归方法(不用创建临时变量)
size_t mystrlen2(const char* str)
{if (*str == '\0'){return 0;}else{return 1 + mystrlen2(str + 1);}
}int main()
{char ch[] = "Hello world!";size_t ret = mystrlen1(ch);printf("ret = %zu\n", ret);return 0;
}
更多C语言相关练习请跳转:
test_c: C语言练习,包括常见语法练习以及小项目练习。 (gitee.com)