同じような処理が続くプログラムは、 データ構造を検討することにより、非常に単純なものにすることができます。 次のプログラムは、ウィンドウ上にいろいろとメッセージを表示する ものですが、実質的な部分はほんの2、3行で済んでいます。
-----------------------
1: /* program "test6.c" --- ウィンドウ上への文字群の表示 */
2:
3: #include <stdio.h>
4: #include <Xtc.h>
5:
6: int position[5][2] = { { 150, 80 }, { 180, 150 },
7: { 180, 200 }, { 180, 250 }, { 180, 300 } };
8:
9: char *message[5]
10: = { "How to programming on Window-System : ",
11: "1. initialize graphical environment ",
12: "2. set parameters for drawing function ",
13: "3. draw figures ",
14: "4. wait input for termination " };
15:
16: void main(void)
17: {
18: int n;
19:
20: initgraph();
21:
22: for( n = 0; n < 5; n++ )
23: outtextxy( position[n][0], position[n][1], message[n] );
24:
25: xtcmainloop(3);
26: closegraph();
27: }
-----------------------
ここでは、表示するメッセージの位置と内容を配列変数にすることにより、 表示処理は繰り返し文ひとつにまとめられています。 文字列は、文字型配列として定義されるのですが、 上の例では文字型配列の配列として宣言しています。 とくに文字列の場合は、その先頭の番地(アドレス)さえ分かっていれば たいていの処理は行えるので、文字型配列=文字列の先頭のアドレス として ポインタ変数のように扱えます。
このように、 プログラムを作る際に、 扱う対象のデータ構造をうまく決められれば、 プログラミング作業が非常にスムーズに進みます。
なお、このプログラムのコンパイル手順は前節と同じなので略します。