2007年7月5日木曜日

C言語の配列の順番

猫でもわかるプログラミング


の中の…

第22章 配列

から少し。

static int a[4][2] = {8, 7, 6, 5, 4, 3, 2, 1};

のように初期化した場合

a[0][0]=8, a[0][1]=7
a[1][0]=6, a[1][1]=5
a[2][0]=4, a[2][1]=3
a[3][0]=2, a[3][1]=1


となります。配列の[]の後ろから回るということを覚えておいてください。

と言うことだそうです。

じゃあ、3次元の配列の時は…?

static int b[3][3][3]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27};

b[0][0][0]=1
b[0][0][1]=2
b[0][0][2]=3
b[0][1][0]=4
b[0][1][1]=5
b[0][1][2]=6
b[0][2][0]=7
b[0][2][1]=8
b[0][2][2]=9
b[1][0][0]=10
b[1][0][1]=11
b[1][0][2]=12
b[1][1][0]=13
b[1][1][1]=14
b[1][1][2]=15
b[1][2][0]=16
b[1][2][1]=17
b[1][2][2]=18
b[2][0][0]=19
b[2][0][1]=20
b[2][0][2]=21
b[2][1][0]=22
b[2][1][1]=23
b[2][1][2]=24
b[2][2][0]=25
b[2][2][1]=26
b[2][2][2]=27

になるんだね?
もっと分かりやすい指定方法がないかなぁ…
コメントを投稿