配列とポインタと文字列配列同じようなデータがたくさんあるとき、そのデータの管理をどのようにすればよいでしょうか。 いちいち変数を作っていたのではきりがありません。そこである型の変数をまとめて管理する方法があります。これは配列を使って実現できます。 変数は値を入れるは箱と書きましたが配列はその箱を幾つかつなげて1つにしたものです。 宣言配列は次のように宣言します。
配列の要素数に作りたい変数の数を入れます。 例えば
とするとint型の変数が5個まとまった配列arrayが出来上がります。 使用配列の中の値を扱うときは次のようにします。
添字とは扱いたい値の配列内での位置です。最初の要素は0であることに注意してください。 例えば
とするとarrayの最後の要素の値を表します。なので
とすると意味のない場所を扱うことになり最悪エラーとなります。 配列の添字は値なので変数が使えますが、宣言時の要素数はコンパイル時に決まっていなければなりません。 次元配列の[]はいくつでもつけることが出来ます。 例えば
とすると4*5の配列が出来ます。 イメージとしては
このような配列を二次元配列と言います。 []が1つしか無いのは一次元配列です。 初期化配列は以下のようにすると初期化出来ます。
初期化する要素は指定した要素数より少なく出来ますが多くすることは出来ません。 また初期化するときに要素数を省略すると式化した要素数が配列の要素数になります。 例えば
は
と同じです。 また二次元配列の初期化は
となります。 ポインタ文字列ダブルクォーテーショ"で囲まれた文字列やgets()等で取得できるのはchar型のポインタです。 では |