繁体   English   中英

指针 - 字符串

[英]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;

它不适合我

提前致谢

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM