私は、2D配列(レーン)を含むヘッダファイル内に定義された構造体を持っています。 コンパイル時に、環境変数を設定するなどして、配列のサイズを定義したいと思います。Cヘッダファイルの外部定義定数
#ifndef GAMEBOARD_H
#define GAMEBOARD_H
struct gameboard
{
int lanes[4][4];
int isWonBy;
int isFinished;
int nextPlayer;
};
struct gameboard *put(struct gameboard *board, int laneIndex);
#endif
私は、この構造体のすべてのインスタンス間で、実行時に一定の大きさで、配列を維持するが、その大きさは、ソースコードを毎回変更することなく、コンパイル時に何であるかを定義します。配列の高さと幅は別々にし、デフォルト値を持たなければなりません。
ビルドシステムでは、環境からディメンションをフェッチしたり、ディメンションのマクロを定義するコンパイラプリプロセッサフラグをビルドシステムに設定させることができます。それらのマクロをソースで使用します。 –