効率的なプログラム



next up previous contents

Next: 配列変数 Up: 6 配列とポインタ Previous: 6 配列とポインタ


効率的なプログラム

同じような処理が続くプログラムは、 データ構造を検討することにより、非常に単純なものにすることができます。 次のプログラムは、ウィンドウ上にいろいろとメッセージを表示する ものですが、実質的な部分はほんの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: }
-----------------------

ここでは、表示するメッセージの位置と内容を配列変数にすることにより、 表示処理は繰り返し文ひとつにまとめられています。 文字列は、文字型配列として定義されるのですが、 上の例では文字型配列の配列として宣言しています。 とくに文字列の場合は、その先頭の番地(アドレス)さえ分かっていれば たいていの処理は行えるので、文字型配列=文字列の先頭のアドレス として ポインタ変数のように扱えます。

このように、 プログラムを作る際に、 扱う対象のデータ構造をうまく決められれば、 プログラミング作業が非常にスムーズに進みます。

なお、このプログラムのコンパイル手順は前節と同じなので略します。



next up previous contents

Next: 配列変数 Up: 6 配列とポインタ Previous: 6 配列とポインタ




機械・知能系 コンピュータ実習担当教官