C/C++ 指针移动

在 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语言中,指针(不管是几级指针)可以通过++(自增)或者 --(自减)来前后移动指针

你可能感兴趣的:(C/C++基础,c语言,c++,java)