第一种方法
先找到首地址的位置,再在地址上依次加一,每次加一的时候count也加一,当加到地址所存储数据为‘\0’时,停止循环并返回count。
int my_strlen(char* str)
{
int count = 0;
while (*str != '\0')
{
count++;
str++;
}
return count;
}
int main()
{
char arr[] = "abcd";
int len = my_strlen(arr);
printf("%d\n", len);
return 0;
}
第二种方法
此方法为指针减指针的方法
先找到字符串首地址,再找到字符串最后一位的地址,再用末地址减去首地址便可得到字符串长度。
int my_strlen(char* str)
{
char* start = str;
while (*str != '\0')
{
str++;
}
return str - start;
}
int main()
{
char arr[] = "abcd";
int len = my_strlen(arr);
printf("%d\n", len);
return 0;
}