全部のセルを持っとくとn次元では地図の一辺のn乗に比例するメモリがいる。
いっぽう、生きてるやつだけ持っておけばその時点で生きてるやつの個数に比例する
メモリしかいらない。Conwayのルールだと全部生きてることは初期値以外あり得ない。

ところで各セルは自分の座標だけ知ってればよいから、2次元なら
typedef size_t Index; // 座標を表すのに必要な整数型にする
struct cell_t { Index x,y; char next_state; };
で良いと思う。こうするとsizeof(Index)を小さくとればより省メモリ。