мне кажется привлекательной идея с файлом
вот как мне это видится(упрощу до 5х5):
создаём файл размером 25 байт забитый нулями:
0000000000000000000000000
и пишем фукнцим считывания/записи массива пусть будет 2х2():
псевдо код
bool write(f, char[2][2] data, start_x, start_y, width)
{
f_seek(f, start_y * width + start_x);
f_write(f, data[0]);
f_seek(f, (start_y + 1) * width + start_x);
f_write(f, data[1]);
return true;
}
char[2][2] read(f, start_x, start_y, width)
{
char[2][2] result;
f_seek(f, start_y * width + start_x);
result[0] = f_read(f, 2); // читаем два элемента
f_seek(f, (start_y + 1) * width + start_x);
result[1] = f_read(f, 2); // читаем два элемента
}
тут нет защиты от сбоев
надр поискать NoSQL базы с возможностью хранить массивы