string - Pointers - Strings

我有一个对我来说毫无意义的代码块。有人可以向我解释吗?

谢谢

int strLength(char *str) {
char *p = str;
// Go until the end of the string
while (*p != ‘\0’)
p++;
return (p – str);
}

首先,我不明白代码的返回部分背后的想法。

第二

char *p = str;

它不适合我

提前致谢

回答1

string 顺序存储在内存中,其想法是找到结束 string 的字符(在 C 中接受的符号是 '\0'),增加指针 p 直到找到这个符号。

当您找到 '\0' 时,您在两个地址之间减去以找到长度。

相似文章

随机推荐

最新文章