構造体に盤面の情報を二次配列として持たせたい
一次配列なら問題なく実行出来るのですが、多次元になると記述方法が分からなくなってしまいます。
可能ならば配列のサイズを可変長にしたいです。
説明がおぼつかなくてすみません、よろしくお願いします。
試したこと
配列の最大要素数を予め固定して、使う要素数を決める方法
C
1#include<stdio.h> 2#define SIZE 256 3 4struct A{ 5 6 int height; 7 int whidth; 8 int board[SIZE][SIZE]; 9}; 10 11void Afunc(struct A a){ 12 13 printf("%d\n", a.board[a.height - 1][a.whidth - 1]); 14} 15 16int main(){ 17 18 struct A a; 19 a.height = 10; 20 a.whidth = 10; 21 22 for(int i = 0; i < a.height; i++){ 23 for(int j = 0; j < a.whidth; j++){ 24 a.board[i][j] = i*10 + j; 25 } 26 } 27 28 Afunc(a); 29 30 return 0; 31}
発生している問題・エラーメッセージ
今のところは問題ないのですが、256を超える大きなデータを入れる時にSIZEの値を書き直さないといけないのが気になってしまいます。
追記
whidthはスペルミスでした。
正確にはwidthです、すみません。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/27 07:13 編集
2018/03/27 07:23
2018/03/27 07:28