質問: c言語で5目並べのプログラムを作っています。 main関数内で縦横の長さを入力してboardを作り、それをdisp関数に渡して 盤面を表示させたいのですがh,wはどのように渡せばいいのでしょうか? もちろんdisp関数内で縦横の長さを変更したりはしません。回答お願いしますm(__)m (boardを渡すのは省略しています) ``` #include void disp1(int h,int w){ } void disp2(const int h,const int w){ } void disp3(int *h,int *w){ } void disp4(const int *h,const int *w){ } int main() { int h,w; int board[h][w]; disp1(h,w); disp2(h,w); disp3(&h,&w); disp4(&h,&w); return 0; } ```
回答: 関数内で変更する必要がないなら`disp1`か`disp2`でしょう。 もっともこの手の処理の場合、ゲーム内で盤面の大きさが変わることはないでしょうから、マクロ定義したほうがいいと思いますが。 ``` #define H 9 #define W 9 void disp(void) { } ```