Relative Content

Daily Archives: October 5, 2016

5.1 配列

配列 同じ型の変数が並んだものを「配列」と言います。C以外でも多くの高級言語に採用されている。 通常の変数は int num; のように型と名前を示して宣言しますが、配列ではさらに要素数を加えて以下のように宣言します。 int num[10]; 名前(上の例では”num”)が変数名で、それに続く[ ]内に示した”10″が、配列の要素数です。上記のように宣言すると int 型の変数が10個確保され その全体を“num”という名前で扱える ようになります。 配列の各要素は添字(またはインデックス)と呼ばれる番号で一意に指定できます。Cでは先頭が0で、1ずつ増加します。   配列の走査 配列の各要素に規則性を持った値を代入するには、forループを使うのが便利です。例えば、10個の要素を持つint 型の配列に、100・200・300……と100ずつ増加する値を代入する処理は、リスト1のように記述できます。 カウンタ変数iは0から1ずつ増加するので、その値を配列の添字に使い、同時に(i + 1)の100倍を添字で示す要素の値として代入します。 継続条件は「i < 10」となっているので、iが9になるまでループが繰り返され、10になったら処理をせずにループを抜けるので、配列のすべての要素に値が代入されます。 リスト1:配列に100ずつ増加する値を代入していく int num[10];    /* 整数を格納する配列 */ int i;    /* カウンタ変数 */ for(i =0; i <10; i++){ num[i]=(i +1)*100; } 配列の初期化 配列は同じ型の変数が並んだものですから、個々の要素の扱いは通常の変数と変わりません。配列の個々の要素に値を代入するには、以下のように代入演算子=を使います。 num[0]=100; num[1]=200; num[2]=300; : もちろん、通常はこんな悠長な記述はしません。配列の宣言時にすべての要素の値を示し、初期化することができます。 int num[]={100,200,300,400,500,600}; { }内に値を「,」で区切って列挙するだけです。このようにすれば、[ ]内に最大要素数を示す必要はありません。{ }内に列挙した値の数だけの要素が自動的に確保されます。 配列のコピー 他の変数と同じように配列をコピーしたプログラム […]