C言語 配列 arrays
配列の宣言
配列は同じ型の集まり。データを一括して扱う場合に使用する。ひとつひとつを要素(element)という。要素数の添え字は0から始まる。例として10個のint型の配列を宣言。int a[10];
配列にアクセスするときの添え字は0から9となる。
a[0]~a[9]
この配列の中にint型の数値を入れるには、いくつかの方法がある。
要素ひとつひとつに入れる場合は以下のようにする。
a[0]=255;
a[1]=256;
配列を宣言するときに初期値として入れてしまうことも可能。
int a[10] = {1, 1, 2, 3, 5, 8, 13, 21, 34, 55};
また、初期値をこのように入れている場合は、要素数は省くこともできる。
int a[] = {1, 1, 2, 3, 5, 8, 13, 21, 34, 55};
int型の配列
|
0 array= 1 アドレス=23ff0c 1 array= 1 アドレス=23ff10 2 array= 2 アドレス=23ff14 3 array= 3 アドレス=23ff18 4 array= 5 アドレス=23ff1c 5 array= 8 アドレス=23ff20 6 array= 13 アドレス=23ff24 7 array= 21 アドレス=23ff28 8 array= 34 アドレス=23ff2c 9 array= 55 アドレス=23ff30 10 array= 89 アドレス=23ff34 11 array= 144 アドレス=23ff38 12 array= 12 アドレス=23ff3c 13 array= 4200620 アドレス=23ff40 14 array= -2092586108 アドレス=23ff44 |
char型の配列
C言語では文字列を扱う場合はchar型の配列として扱われる。char s[] = "0123 ABC";
配列の中身をプログラムで確かめてみる。
|
http://ja.wikipedia.org/wiki/ASCII
0 char= 0 16進数= 0x30 アドレス=23ff33 1 char= 1 16進数= 0x31 アドレス=23ff34 2 char= 2 16進数= 0x32 アドレス=23ff35 3 char= 3 16進数= 0x33 アドレス=23ff36 4 char= 16進数= 0x20 アドレス=23ff37 5 char= A 16進数= 0x41 アドレス=23ff38 6 char= B 16進数= 0x42 アドレス=23ff39 7 char= C 16進数= 0x43 アドレス=23ff3a 8 char= ^@ 16進数= 0x0 アドレス=23ff3b 9 char= 16進数= 0x9 アドレス=23ff3c 10 char= ^@ 16進数= 0x0 アドレス=23ff3d |
配列の要素数を調べて利用する sizeof
上記は表示するときに回数指定の記述をしている。要素数が分かるときならよいが、そうでない場合困ってしまう。そこで配列の要素数を調べて利用する。
|
0 array= 1 アドレス= 23ff0c 1 array= 1 アドレス= 23ff10 2 array= 2 アドレス= 23ff14 3 array= 3 アドレス= 23ff18 4 array= 5 アドレス= 23ff1c 5 array= 8 アドレス= 23ff20 6 array= 13 アドレス= 23ff24 7 array= 21 アドレス= 23ff28 8 array= 34 アドレス= 23ff2c 9 array= 55 アドレス= 23ff30 10 array= 89 アドレス= 23ff34 11 array= 144 アドレス= 23ff38 0 char= 0 16進数= 0x30 アドレス= 23ff03 1 char= 1 16進数= 0x31 アドレス= 23ff04 2 char= 2 16進数= 0x32 アドレス= 23ff05 3 char= 3 16進数= 0x33 アドレス= 23ff06 4 char= 16進数= 0x20 アドレス= 23ff07 5 char= A 16進数= 0x41 アドレス= 23ff08 6 char= B 16進数= 0x42 アドレス= 23ff09 7 char= C 16進数= 0x43 アドレス= 23ff0a 8 char= ^@ 16進数= 0x0 アドレス= 23ff0b |
C言語 ANSI C89 Meadow & MinGW GCC 目次はこちら