一.strlen的模拟实现
strlen是计算字符串长度的函数,它所做的是类似于计数器的工作,从内存的某个位置(字符串开头、字符串中间或者内存中不确定的某个区域)开始计算,直到遇见**字符串结束符’\0’**为止,最终返回计数器值(不包含’\0’)。
strlen的模拟实现有三种方法:计数器法、递归法、指针的方式,以下是三种方式的代码实现:
1.计数器法:
int my_strlen(const char *str)
{
int count = 0;
while (*str)
{
count++;
str++;
}
return count;
}
2.递归法:
int my_strlen(const char *str)
{
if (*str == '\0')
{
return 0;
}
else
{
return 1 + my_strlen(str + 1);
}
}
3.指针的方式:
int my_strlen(const char *s)
{
char *p = s;
while (*p != '\0')
{
p++;
}
return p - s;
}