C言語での質問です。

C言語関連17閲覧

ベストアンサー

0

ThanksImg質問者からのお礼コメント

ありがとうございました(*´ー`*)

お礼日時:10/26 7:03

その他の回答(2件)

0

■ ポインタを使用する。 int data[80][80]; // 要素数8個の配列へのポインタの二次元配列 int(*matrix[10][10])[8]; // 初期化 for (int i = 0; i < 10; i++) for (int j = 0; j < 10; j++) matrix[i][j] = (int (*)[8])&data[i][j * 8]; ポインタに代入すると int(*m)[8] = matrix[i][j]; 列8の配列として扱えます。 m[i][j] ■ 構造体として定義する struct { int m[8][8]; } mat[10][10]; ポインタに代入すると int(*m)[80] = (int (*)[80])&matrix[0][0].m[0][0]; 列80の配列として扱えます。 m[i][j]

0

例えば、配列を2つ使うとか。 int a[8][8]; //10x10を1つとして扱う場合はこちら int ax,ay; //a[][]の扱う座標 int b[80][80]; //ax,ayを用いて、場所を選択する ax=0; ay=6; a[6][0]が10ならそのbの領域を1で塗りつぶす if(a[ay][ax]==1){ for(i=0;i<10;i++){ for(j=0;j<10;j++){ b[ay*10+i][ax*10+j]=1; } } }