第4回 1.配列

同じ型が複数あった場合は配列を使うと便利です。
配列というのは、複数ある変数を住所でいう番地のような番号で指定し、使うことがで
きるような機能です。
1次元、2次元配列の説明をよく以下のように説明します。

1次元配列
1 2 3 4 5
要素 要素 要素 要素 要素

2次元配列
1 2 3 4 5
1 要素 要素 要素 要素 要素
2 要素 要素 要素 要素 要素
3 要素 要素 要素 要素 要素
4 要素 要素 要素 要素 要素
5 要素 要素 要素 要素 要素

なんとなく分かった感じがしなくも無いんですが、これで理解出来るのは、3次元配
列(立体)迄で、4次元配列とかになると、ドラえもんあたりの協力が必要になってく
る気がしますが、まぁ、4次元配列とかはあまり使わないので良しとしましょう。

配列をつくるには、普通の変数同様宣言が必要になります。

1次元配列の場合
型 [] 変数名 = new 型[要素];

多次元配列の場合
型 [,...] 変数名 = new 型[要素,要素...];

例えば、100個の1次元配列を作る場合は
int [] array = new int[100];

100 x 100の2次元配列を作る場合は
int [,] array = new int[100,100];

100 x 100 x 100の3次元配列を作る場合は
int [,,] array = new int[100,100,100];

と、なります。
配列を作ると、全て0で初期化されますが(文字列の場合、空の文字列です)、自分で
初期値を入れたい場合もあると思います。
その場合は以下のようにします。
int [] array = new int[3] { 1 , 2 , 3 };
string [] str_array = new int[3] { "abc" , "def" , "ghi" };
int [,] array2 = new int[2,2] { {1 , 2} , { 3 , 4 } };

初期値付の場合、要素を省略することが出来ます。
int [] array = new int[] { 1 , 2 , 3 , 4};
int [,] array = new int[,] { { 1 , 2 , 3 } , { 3 , 4 , 5 } };

アクセスするには、変数名[要素番号]で、アクセスします。
要素番号は0から始まります。

ためしに動かしてみましょう。
Hellow Worldでやったように、新規にプロジェクトを作っり、真ん中にlabelを設置します。
そして、Form1_Load関数を以下のようにします。
string[] week = new string[7] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
label1.Text = week[0];
真ん中にSunと表示されるはずです。
weekの[]の中をかえてやれば、表示される文字が変わります。
1なならMon、2ならTueといった感じです。

ちなみに、newで作っているからといって、deleteする必要はありません。
C++ユーザーは注意。

  • ジャグ配列
ジャグ配列というのは、一次元配列の配列です。
多次元配列の一種です。
ジャグ配列を作成するには、ジャグ配列を宣言後、各配列を初期化します。

int [][] jaggedarray = new int [3][];  //宣言
jaggedarray[0] = new int[5];			//初期化
jaggedarray[1] = new int[4];
jaggedarray[2] = new int[3];

  • コレクション
コレクションは、データを管理する機能です。
コレクションにはスタックやリストなど、いくつか種類があります。
コレクションは非常に便利な機能ですが、説明するとかなりの量になってしまうので、
ここでは簡単な説明にとどめたいと思います。
コレクションを簡単に説明すると、凄い配列ということになります。
い、いや、多少語弊があるかもしれませんが、とりあえずはそういうことにしてくださ
い。
C++ユーザーにはコンテナクラスと言えば理解していただけるでしょうか。
最終更新:2007年09月29日 12:54
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。