スポンサードリンク

二次元配列のサンプル(整数型(int)、実数型(double)、文字列型(char)のサンプルをそれぞれ用意しております。)
int mydt[2][2];
double mydt[2][2];
char [2][2];
三次元配列サンプル
int mydt[2][2][2];
double mydt[2][2][2];
char [2][2][2];
※それぞれの配列要素は説明しやすいように[2](添字)としております。
要素:mydt[要素] 任意に用意した配列の数。
下図の赤線部分が要素です。


以下のようにメモリ上に確保されます。
※配列を宣言した場合、「0」からカウントされます。こちらのサンプルを見ていただくと解りやすいです
mydt[0] |
mydt[1] |
例えば mydt[1] = 5; と値を代入すると、以下のように値が確保されます。
mydt[0] | |
mydt[1] | 5 |
二次元配列の場合【 int mydt[2][2]; 】とした場合
以下のように二組メモリ上に確保されます。
mydt[0][0] |
mydt[0][1] |
mydt[1][0] |
mydt[1][1] |
三次元配列の場合【 int mydt[2][2][2]; 】(多次元配列の説明は以下のみです。)
以下のようにメモリ上に確保されます。
mydt[0][0][0] |
mydt[0][0][1] |
mydt[0][1][0] |
mydt[0][1][1] |
mydt[1][0][0] |
mydt[1][0][1] |
mydt[1][1][0] |
mydt[1][1][1] |

int mydt[2][2] = {10,100,1000,10000};
二次元配列(多次元含む)に初期値を設定すると、先に変化する要素(添字)の順番で割り当てられます。mydt[0][0] | 10 |
mydt[0][1] | 100 |
mydt[1][0] | 1000 |
mydt[1][1] | 1000 |
しかしながら配列要素が増えると、上記の初期値設定では読みにくい為、一般的には割り当てた組()づつカッコで区切り明確に記述方法が一般的になります。
int mydt[2][2] = { {10,100}, {1000,10000} };
確認サンプルソース#include <stdio.h>
int main(void)
{
int mydt[2][2] = { {10,100},{1000,10000}};
printf("%d\n",mydt[0][0]);
printf("%d\n",mydt[0][1]);
printf("%d\n",mydt[1][0]);
printf("%d\n",mydt[1][1]);
return 0;
}

要素数を増やした場合、以下のように分けて書くようにすれば見やすくまとめられます。
int mydt[6][2] = {
{10,100},
{1000,10000},
{20,200},
{2000,20000},
{30,300},
{3000,30000}
};
mydt[0][0] | 10 |
mydt[0][1] | 100 |
mydt[1][0] | 1000 |
mydt[1][1] | 1000 |
mydt[2][0] | 20 |
mydt[2][1] | 200 |
mydt[3][0] | 2000 |
mydt[3][1] | 20000 |
mydt[4][0] | 30 |
mydt[4][1] | 300 |
mydt[5][0] | 3000 |
mydt[5][1] | 30000 |
二次元配列の説明は以上です。次は文字型【 char 】を用いた二次元配列を参照すると良いと思います。
あかかげまるのC言語入門はこちら!!
スポンサードリンクパソコン勉強部屋 | パソコン勉強部屋2 | ADSL勉強部屋 | メール勉強部屋 | LAN勉強部屋 | ホームページ勉強部屋 | 自宅サーバー勉強部屋 | お役立ちソフトの部屋 | C言語勉強 | 無料ゲーム | 無料セキュリティー | Linuxのコーナー | あかかげまる | オンライン通販 | ショップブランドパソコン | DVDとCD編集ツール |
▲ページトップへ