プログラミング事前課題 その4 配列

プログラミングには変数をまとめるための方法として配列というのがあります。
例えばint型の変数が10個欲しい時

	int num0 = 0;
	int num1 = 1;
	int num2 = 2;
	int num3 = 3;
	int num4 = 4;
	int num5 = 5;
	int num6 = 6;
	int num7 = 7;
	int num8 = 8;
	int num9 = 9;

と書けますがめんどうですね。

10個ぐらいならまだ良いですが
100個ぐらいになるともう嫌です。
そこで配列というものがあります。
実際に下記のソースコードを見てみましょう。

#include <iostream>
using namespace std;

int main() {
	// your code goes here
	
	int num[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
		
	cout << num[0] << endl;
	cout << num[1] << endl;
	cout << num[2] << endl;
	cout << num[3] << endl;
	cout << num[4] << endl;
	cout << num[5] << endl;
	cout << num[6] << endl;
	cout << num[7] << endl;
	cout << num[8] << endl;
	cout << num[9] << endl;
		
	return 0;
}

結果は
0
1
2
3
4
5
6
7
8
9
と出力されると思います。

では、解説です。

	int num[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};		

ここでは一気にint型の変数を10個作ってそれに、0〜9までの数値を順に入れています。

作った変数にアクセス(変数の中身を取得する)するためにはこうです。

	cout << num[0] << endl;

一気に数値を入れずに以下のような書き方も可能です。

	int num[3];
	
	num[0] = 0;
	num[1] = 1;
	num[2] = 2;
				

注意点としてはnum[3]で名前がnumの配列を大きさ3で作ったときに
配列の個別の変数にアクセスする際には0番目からはじまります。
(これ忘れやすいので重要)

ちなみに以下の様な書き方はエラーになります。

	int num[3] = {0, 1, 2, 3};		

(numの配列は全部で3個しかないのに0, 1, 2, 3と4つの数字を一度に入れようとしている)

	int num[3] = {0, 1, 2};
	cout << num[3] << endl;		

(numの配列は全部で3個しかないので変数はnum[0]〜num[2]までしかないのに
存在しないnum[3]にアクセスしようとしている)

配列は変数をまとめて管理できるので便利です。

次回に紹介するforループと合わせて使うとより便利になります。


http://hariganet.hatenablog.com/entry/2014/03/25/074636