同じような処理が続くプログラムは、 データ構造を検討することにより、非常に単純なものにすることができます。 次のプログラムは、ウィンドウ上にいろいろとメッセージを表示する ものですが、実質的な部分はほんの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: }-----------------------
ここでは、表示するメッセージの位置と内容を配列変数にすることにより、 表示処理は繰り返し文ひとつにまとめられています。 文字列は、文字型配列として定義されるのですが、 上の例では文字型配列の配列として宣言しています。 とくに文字列の場合は、その先頭の番地(アドレス)さえ分かっていれば たいていの処理は行えるので、文字型配列=文字列の先頭のアドレス として ポインタ変数のように扱えます。
このように、 プログラムを作る際に、 扱う対象のデータ構造をうまく決められれば、 プログラミング作業が非常にスムーズに進みます。
なお、このプログラムのコンパイル手順は前節と同じなので略します。