C言語の基礎「文字列の配列」

スポンサーリンク
C言語

複数の文字列を配列に入れる場合は、文字列自体が配列なので、「配列の配列」すなわち、2次元配列となる。

例えば、文字列を配列に3つ格納するには、次のように宣言する。

char str[3][5] = {"ant","bee","moth"}

これは、配列の要素数のうち、3が文字列の数、5がそれぞれの文字列に格納する文字数(NULL文字を含む)を表す。

メモリー上では、下図のように、それぞれの文字に5バイトずつ確保された領域が3つ並んだ状態となる。

配列に格納された文字列は、次のプログラムで順番に出力できる。

#include <stdio.h>

int main(void)

{
    char str[3][5] = { "ant","bee","moth"};
    
    for (int i = 0; i < 4; i++)
    {
        
	printf("%s¥n",str[i]);
	
    }
	return 0;
}

実行結果

ant
bee
moth

printf関数に渡しているstr[i]はi番目の文字列の先頭要素のアドレスを表す。

参考)「C言語 新版 ゼロからはじめるプログラミング」 三谷 純 (著)‎ 翔泳社、
「新・明解C言語 入門編 第2版 」柴田 望洋 (著) SBクリエイティブ

コメント

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