返回字符串的长度

时间:2015-10-09 20:07:28

标签: c function

我看到有人发布了这个函数,它返回一个字符串的长度。有人可以逐行向我解释发生了什么,因为我没有得到* s指针发生的事情,以及它如何能够逐个遍历字符串并计算字符串中的字符数量。这个函数来自FreeBSD

size_t
strlen(const char *str)
{
const char *s;
for (s = str; *s; ++s);
return(s - str);
}

1 个答案:

答案 0 :(得分:2)

size_t
strlen(const char *str)
{
const char *s; // init pointer
for (s = str; *s; ++s); // set pointer to beginning of str, and increment pointer until
                        // you reach '\0', which is the end of the string
return(s - str); // compute the distance between end and beginning of string
                 // (s points to end of string, str points to beginning of string)
}