首先,我们要了解strlen这个库函数的功能:
求字符串长度,统计的是字符串中 \0 之前的字符的个数。
原型如下:
size_t strlen ( const char * str );
分析,参数str接收⼀个字符串的起始地址,然后开始统计字符串中 \0 之前的字符个数,最终返回长度。如果要模拟实现只要从起始地址开始向后逐个字符的遍历,只要不是 \0 字符,计数器就+1,这样直 到 \0 就停止。
参考代码如下:
int my_strlen(const char* str)
{
int count = 0;
assert(str);
while (*str) //\0的地址值为0;
{
count++;
str++;
}
return count;
}
int main()
{
int len = my_strlen("abcdef");
printf("%d", len);
return 0;
}