文字列の配列は、しばしば文字テーブルと呼ばれる。次の例は、(ヌル文字を含めて)40文字の文字列を10個格納できる。
char names[10][40];
各文字列にアクセスするには、左の添字だけを書いてやる。例えばキーボードから読み取った文字列を3番目に格納するには、
gets(names[2]);
とする。同様に、5番目の文字列を出力するには、
printf(names[4]);
とする。
次のプログラムは、文字テーブルに 0 から 9 を意味する単語を格納しておき、ユーザーが入力した数値に対応する単語を出力する。
#include int main(void) { char digits[][10] = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; char num[2]; printf("Input a number: "); gets(num); printf("%s\n", digits[num[0] - '0']); return 0; }
実行例:
takatoh@nightschool $ ./sample_5_5 Input a number: 3 three