配列|プログラミングが分からなくなるポイント

2019年9月16日

プログラムを勉強していてつまずくポイントがいくつかあります。その一つである 配列がありますが、多くの学習者が配列の何につまずいているのか解説します

配列とは

同じデータ型の複数の値を格納するために定義された領域の集まり

変数と配列

  • 1つの変数に1つの値が入る
  • 1つの配列に複数の値

1つの変数名で複数の値が扱えるのが配列。そのため、値を格納したり参照したりするためには配列のどの場所なのかを指定する必要がある

添え字

配列のどの場所かを指定する番号を添え字という。先頭から0、1、2・・・という番号になっている

配列と添え字

配列の特徴

  1. 1つの変数名で複数の値が扱える
  2. 配列のどの場所かを特定するための番号を添え字という
  3. 繰返し処理と一緒に使うと非常に便利

つまずいているところ

配列の仕組みはわかっていても、配列の特徴の3で、つまずいている学習者が多くいます。配列Xに入っている値をすべて表示するC言語でのソースコードを見てください。

#include <stdio.h>
int main(void){
   int x[5]={10,20,30,40,50};
   int i;
   for(i=0;i<5;i++){
       printf("%d\n", x[i]);  // この処理
   }
   return 0;
}

この処理というコメントの部分ですが、配列の中に入っている値を表示しています。つまずいている多くの学習者は、配列の中の値と添え字を混同していることが非常に多いです。配列の値を扱う場合は 配列名[添え字] としなければいけないのですが、そこを 添え字のみ にしてしまっているソースコードをよく見かけます。

間違ったソースコード

#include <stdio.h>
int main(void){
   int x[5]={10,20,30,40,50};
   int i;
   for(i=0;i<5;i++){
       printf("%d\n", i);   // ここの処理
   }
   return 0;
}

このように、配列の中の値と添え字を混同しているために自分の思った通りの結果にならないプログラムを作成している学習者がほんとに多くいます。

まとめ

配列が苦手だという人は、自分が間違えるポイントはどこなのかを分析してみるといいと思います。そもそもの仕組みを理解していないのか、配列と添え字が混同しているのか、などです。自分が間違えるポイントを分析できたとしても、同じところを何度も間違えてしまうということはよくあります。たた、間違えるポイントが分かれば、思った通りに動かなかった場合にどこを修正すればいいのかすぐに見つけることができるようになります。それを繰り返していくことで経験を積み、プログラムスキルが上がっていきます。