对于srelen函数我们要明白一点,它获取的是字符串的首元素地址,即从第一个元素开始查找,知道遇到‘\0’,才会停止。这就要求我们模拟实现时用指针来接收地址。
下面上代码
#include<stdio.h>
#include<string.h>
#include<assert.h>
my_strlen(const char*p)
{
assert(p != NULL);
int count = 0;
while (*p != '\0')
{
count++;
*p++;
}
printf("%d", count);
}
int main()
{
char arr[] = "abcdef";
my_strlen(arr);
system("pause");
return 0;
}
在这段代码中,值得注意有两点:1.是我们需要用断言来进行指针变量是否为空的判断。
2.是我们需要用const来避免发生对指针所指向内容的修改