サンプルプログラム arr1.c
(10)配列変数
配列変数とは同じ型の変数が順番に複数並んでいて、それぞれ通し番号でアクセスできるようにした変数のことです。
#include <stdio.h> void main( void ) { int i; int arr[10] = { 9, 8, 7, 6, 5, 4, 3, 2 , 1, 0 }; for( i = 0; i <= 9; i++ ) { printf( "arr[%d] = %d\n", i, arr[i] ); } for( i = 0; i <= 9; i++ ) { arr[i] *= 2; // 値を2倍 } printf( "\n" ); for( i = 0; i <= 9; i++ ) { printf( "arr[%d] = %d\n", i, arr[i] ); } }
実行結果は以下のようになります。
arr[0] = 9 arr[1] = 8 arr[2] = 7 arr[3] = 6 arr[4] = 5 arr[5] = 4 arr[6] = 3 arr[7] = 2 arr[8] = 1 arr[9] = 0 arr[0] = 18 arr[1] = 16 arr[2] = 14 arr[3] = 12 arr[4] = 10 arr[5] = 8 arr[6] = 6 arr[7] = 4 arr[8] = 2 arr[9] = 0
少し解説します。
宣言しているところで定数を代入しています。
C言語では配列の添え字は0から始まります。
int arr[10]
としていますので添え字番号0~9までの10個の要素の配列です。
で、イコール(=)の後に10個の定数値を並べて各要素を初期化しています。
最初のforループのところでは要素の初期値を表示しています。
次のforループでは各要素の値を2倍しています。
最後のforループでは2倍した各要素の値を表示しています。
以上、1次元配列でした。
続けて2次元配列です。
サンプルプログラム arr2.c
2次元配列
2次元配列も1次元配列と基本的には同じです。 サンプルプログラムをご覧頂いた方が早いかと思いますのでご覧ください。#include <stdio.h> void main( void ) { int i, j; int arr[3][10] = { { 9, 8, 7, 6, 5, 4, 3, 2 , 1, 0 }, { 19, 18, 17, 16, 15, 14, 13, 12 , 11, 10 }, { 29, 28, 27, 26, 25, 24, 23, 22 , 21, 20 } }; for( j = 0; j <= 2; j++ ) { for( i = 0; i <= 9; i++ ) { printf( "arr[%d][%d] = %d\n", j, i, arr[j][i] ); } } for( j = 0; j <= 2; j++ ) { for( i = 0; i <= 9; i++ ) { arr[j][i] *= 2; // 値を2倍 } } printf( "\n" ); for( j = 0; j <= 2; j++ ) { for( i = 0; i <= 9; i++ ) { printf( "arr[%d][%d] = %d\n", j, i, arr[j][i] ); } } }
実行結果は以下のようになります。
arr[0][0] = 9 arr[0][1] = 8 arr[0][2] = 7 arr[0][3] = 6 arr[0][4] = 5 arr[0][5] = 4 arr[0][6] = 3 arr[0][7] = 2 arr[0][8] = 1 arr[0][9] = 0 arr[1][0] = 19 arr[1][1] = 18 arr[1][2] = 17 arr[1][3] = 16 arr[1][4] = 15 arr[1][5] = 14 arr[1][6] = 13 arr[1][7] = 12 arr[1][8] = 11 arr[1][9] = 10 arr[2][0] = 29 arr[2][1] = 28 arr[2][2] = 27 arr[2][3] = 26 arr[2][4] = 25 arr[2][5] = 24 arr[2][6] = 23 arr[2][7] = 22 arr[2][8] = 21 arr[2][9] = 20 arr[0][0] = 18 arr[0][1] = 16 arr[0][2] = 14 arr[0][3] = 12 arr[0][4] = 10 arr[0][5] = 8 arr[0][6] = 6 arr[0][7] = 4 arr[0][8] = 2 arr[0][9] = 0 arr[1][0] = 38 arr[1][1] = 36 arr[1][2] = 34 arr[1][3] = 32 arr[1][4] = 30 arr[1][5] = 28 arr[1][6] = 26 arr[1][7] = 24 arr[1][8] = 22 arr[1][9] = 20 arr[2][0] = 58 arr[2][1] = 56 arr[2][2] = 54 arr[2][3] = 52 arr[2][4] = 50 arr[2][5] = 48 arr[2][6] = 46 arr[2][7] = 44 arr[2][8] = 42 arr[2][9] = 40
プログラムの内容は1次元配列と同じで2次元になっただけです。
初期化の仕方やforループがもう1つ増えたところなどをご覧ください。
プログラミングをしていますと2次元配列までは結構よく使いますので覚えておいた方が良いと思います。