C言語のきほん「ポインタの基本(16)ポインタによる文字列の操作(1)」

スポンサーリンク
Cプログラミング C言語

今回は、ポインタを活用して、文字列の長さを調べるプログラムをご紹介しよう。

なお、本プログラムは、Windows 11 Home(23H2)上で、 Visual Studio Code(1.90.2)を使用して作成し、gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0でコンパイルしている。

//文字列の長さを調べる(ポインタによる走査)プログラム

#include <stdio.h>

//文字列sの長さを返す
int str_length(const char *s)
{
    int len = 0;
    while (*s++)
        len++;
    return len;
    
}

int main(void)
{
    char str[128];

    printf("文字列を入力してください:");
    scanf("%s",str);

    printf("文字列\"%s\"の長さは%dです。\n",str,str_length(str));

    return 0;
}

実行結果

文字列を入力してください:seven
文字列"seven"の長さは5です。

while文による繰り返しの継続条件として、着目文字*sが0でないかどうか判定される。
その判定が終わった直後にs++によるインクリメントが行われる。

配列の要素を指すポインタは、
インクリメントされると1個後方の要素を指すように更新され、
デクリメントされると1個前方の要素を指すように更新される。

参考) 新・明解C言語 入門編 第2版 柴田 望洋 (著)SBクリエイティブ

コメント

タイトルとURLをコピーしました