Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 配列について
- ## 1. 配列とは
- 同じ型の変数を複数宣言し 番号によって管理することで
- 複数のデータを一括して取り扱えるようにする仕組み.
- ## 2. 配列の宣言
- 配列は 次のように宣言します
- 型名 配列名[要素数];
- - 型名:
- intなど 変数の型と同義. ここで指定した型の変数が要素数の数だけ作られます.
- - 配列名:
- 配列全体の名前のことです. 個々の変数を使う場合 この名前に番号を付けて区別します.
- - 要素数:
- 作られる変数の数のことです. ここで指定した数だけ 指定した型の変数が作られます.
- 式などを用いることもできますが 必ず整数でなければいけません.
- 配列の宣言の例:
- ```C
- // int型(整数)の変数を64個もつ配列arrayを宣言する
- int array[64];
- ```
- ## 3. 配列の宣言後の扱い
- 配列名に番号を付けることを除けば 普通の変数と全く同じように扱えます. 配列名に番号を付ける際は 次のようにします.
- 配列名[番号]
- ここで注意しなければならないのは **番号は0番から始まる** 点です.
- 例えば、前節で宣言した100個の要素数を持つ配列の場合
- 指定できる番号は 0~99までの100個です. 1~100ではありません.
- 例3.1 配列arrayの10番目の要素を使う:
- ```C
- #include <stdio.h>
- int main(void)
- {
- int array[100];
- array[9] = 100; // 0番からなので9が10番目
- printf("1:%d\n",array[9]);
- array[9]++;
- printf("2:%d\n",array[9]);
- return 0;
- }
- ```
- 3.1 実行結果:
- ```
- 1:100
- 2:101
- ```
- ## 4. 配列の初期化
- 配列も 変数と同じように 初期化するまで中身は不定なため 初期値を代入する必要があります. 基本の書き方は次のとおりです.
- 型名 配列名[要素数]={0番の数値,1番の数値,2番の数値,・・・n番の数値};
- {}で囲んだ中に順番に,で区切って数値を並べます. 数値の個数が配列の要素数よりも少ない場合 残りの変数にはすべて0が代入されます.
- 例4.1 配列を初期化して表示する
- ```C
- #include <stdio.h>
- int main(void)
- {
- int array[10] = {42,79,13};
- printf("array[0] = %d\n",array[0]);
- printf("array[1] = %d\n",array[1]);
- printf("array[2] = %d\n",array[2]);
- printf("array[3] = %d\n",array[3]);
- printf("array[4] = %d\n",array[4]);
- return 0;
- }
- ```
- 4.1 実行結果:
- ```
- array[0] = 42
- array[1] = 79
- array[2] = 13
- array[3] = 0
- array[4] = 0
- ```
- また 要素数を省略して宣言することも可能です. その場合は以下のように書きます.
- 例4.2
- ```C
- #include <stdio.h>
- int main(void)
- {
- int array[] = {42,79,13}; // 要素数が省略されている
- printf("array[0] = %d\n",array[0]);
- printf("array[1] = %d\n",array[1]);
- printf("array[2] = %d\n",array[2]);
- return 0;
- }
- ```
- 初期値を代入できるなら例4.2のように省略する方が良いでしょう.
- また 一度にすべての変数に値を代入できるのは宣言時のみです.
- array = {42, 79, 13};
- や
- array[10] = {42, 79, 13};
- のような代入はできません.
- ## 5. for文と配列
- 配列の全要素を表示するために for文のループを使うことが出来ます.
- この様な使い方が出来ることこそ 配列の最大の利点です.
- 例5.1 配列内の要素の数を全て表示する
- ```C
- #include <stdio.h>
- int main(void)
- {
- int array[] = {42,79,13,75,19};
- int i;
- for (i = 0;i < 5;i++) {
- printf("array[%d] = %d\n",i,array[i]);
- }
- return 0;
- }
- ```
- 5.1 実行結果
- ```
- array[0] = 42
- array[1] = 79
- array[2] = 13
- array[3] = 75
- array[4] = 19
- ```
- 上記5.1を見てわかるとおり **配列の要素番号には変数も使うことができます** .
- 変数の値を変化させれば 様々な番号の要素に直接アクセスすることが出来ます.
- 配列ではない普通の変数では 5つの要素の表示にはprintf関数が5つ必要ですし
- 100個表示するとなれば 100個必要です.
- しかし 配列ならfor文の数値を変えるだけで済んでしまいます.
- 他にも ループ内の処理を変えることで 全要素に同じ値を代入したり
- 全要素に代入された値の平均を求めることも簡単にできます.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement