C言語で2次元の文字列配列の初期化方法を教えてください。
C言語では、次の2つの方法を用いて、2次元の文字列配列を初期化する。
- 文字列リテラルで初期化する: 二次元配列は、文字列リテラルを花括弧で囲んだうえでカンマで区切って記述することで初期化することができます。例えば:
char array[3][10] = { "Hello", "World", "C" };
上述のコードでは、各行に1つの文字列が含まれる、3×10の2次元文字配列を作成します。各文字列の長さは、定義された配列サイズを超過しないように注意してください。
- 配列の各要素に初期値を代入する:2次元配列にはループとstrcpy関数を使用して行ごとに代入できます。例:
char array[3][10];
strcpy(array[0], "Hello");
strcpy(array[1], "World");
strcpy(array[2], "C");
上記のコードは3×10サイズの2次元文字配列を作成し、 strcpy 関数を使用して各行の配列に各文字列を1つずつ代入します。
いずれの方法でも、配列のサイズがすべての文字列を収容するのに十分で、各文字列が定義された配列サイズを超えていないことを確認する必要があります。