文字列の長さをポインタを使用して返す関数の実装方法


方法1: 文字列の長さをポインタを使用して返す関数の実装

C言語では、文字列の長さを求めるためには、文字列の終端を示すヌル文字('\0')までの文字数を数える必要があります。以下にポインタを使用して文字列の長さを返す関数の例を示します。

#include <stdio.h>
int lengthOfString(const char *str) {
    int length = 0;
    while (*str != '\0') {
        length++;
        str++;
    }
    return length;
}
int main() {
    const char *str = "Hello, world!";
    int length = lengthOfString(str);
    printf("文字列の長さ: %d\n", length);
    return 0;
}

この例では、lengthOfStringという関数を定義しています。関数はポインタ str を引数として受け取り、文字列の長さを整数値として返します。関数内部では、while ループを使用してポインタ str をヌル文字まで進めながら、文字数をカウントしています。

上記のコードを実行すると、出力結果として「文字列の長さ: 13」と表示されます。

他の方法としては、標準ライブラリ関数であるstrlenを使用する方法もあります。strlen関数は、ヌル文字までの文字数を返すため、上記のlengthOfString関数と同様の結果を得ることができます。

#include <stdio.h>
#include <string.h>
int main() {
    const char *str = "Hello, world!";
    int length = strlen(str);
    printf("文字列の長さ: %d\n", length);
    return 0;
}

上記のコードも同じく「文字列の長さ: 13」という出力結果を得ることができます。