二次元配列の初期化について
Posted: 2014年3月28日(金) 04:29
二次元配列を利用して、800*600のMAPの当たり判定を作ろうと思い、数が多くなってしまったためfor文を利用して配列の初期化をしようとしたのですが、思った通りの結果を得られませんでした。
二次元配列を利用して、0から数字を一つずつ増やして文字を表示して思った通りに配列の数字を変更出来るか試してみたのですが、下記のプログラムでは600*400までの配列の初期化は出来るのですが、
下記のように600*500に変更をしてコンパイルをすると実行後強制終了してしまいます。
自分自身、C言語について学校で簡単なプログラムの作成をした程度で、このエラーの原因がわからずじまいです…
単純に自分のプログラムが間違えているのか、環境によって変わってくるのかもわからず、初めてこの掲示板で質問をさせていただきました。
もしよろしければ、ご指摘お願いいたします。
二次元配列を利用して、0から数字を一つずつ増やして文字を表示して思った通りに配列の数字を変更出来るか試してみたのですが、下記のプログラムでは600*400までの配列の初期化は出来るのですが、
#include "stdio.h"
int main(void){
int ix,iy;
int map[600][400];
for(iy=0;iy<=599;iy++){
for(ix=0;ix<=399;ix++){
map[iy][ix]=ix+(iy*400);
printf("%5d ",map[iy][ix]);
if(ix>=399){
printf("\n");
}
}
}
return 0;
}
#include "stdio.h"
int main(void){
int ix,iy;
int map[600][500];
for(iy=0;iy<=599;iy++){
for(ix=0;ix<=499;ix++){
map[iy][ix]=ix+(iy*500);
printf("%5d ",map[iy][ix]);
if(ix>=499){
printf("\n");
}
}
}
return 0;
}
単純に自分のプログラムが間違えているのか、環境によって変わってくるのかもわからず、初めてこの掲示板で質問をさせていただきました。
もしよろしければ、ご指摘お願いいたします。