在 java 中,获取字符串的长度非常简单:
String str = "wk";
int len = str.length();
System.out.println("字符串str的长度为:" + len);
那么在 C/C++ 中,是通过指针移动来实现的:
int getLength(char *string); // 函数声明
int main() {
char *str = "wk";
int len = getLength(str);
LOGI("字符串str的长度为:%d", len)
return 0;
}
/**
* @return 字符串的长度
*/
int getLength(char *string) {
int count = 0;
while (*string) { // string != NULL 则一直循环
string++; // 指针移动
count++;
}
return count;
}
在 getLength 函数中,接收一个字符串,那么字符串本身也是一个 char 类型的指针。因为指针默认是在最开始的地方,所以可以通过 ++(自增)指针向前移动的方法来计算字符串的长度
在C语言中,指针(不管是几级指针)都是可以通过++(自增)或者 --(自减)来前后移动指针