二次元のマップって普通1次元配列でするよね?

X方向120、Y方向100のマップがあったら

$define MAPX 120
$define MAPY 100
$define MAP_SIZE MAPX*MAPY

int main(void) {

int map[MAP_SIZE];
int x=0,Y=0;

for(i=0;i<MAP_SIZE;i++) map[i]=0;
// もし X:54 Y:33 の位置に1を代入したければ
x=54; y=33;
map[x+(y*MAPX)]=1;





}

でいいんだよね??
2次元使ったほうがいいかいな?