Почему на языке C не получается следующее выражение?
map = malloc(sizeof(Map) * tiles);
map = {
0,2,0,0,0,0,0,0,2,0,
0,1,0,0,0,0,0,0,1,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
2,1,0,0,0,0,0,0,1,2,
0,0,0,0,0,0,0,0,0,0
};
Я просто хочу заполнить данные в таком формате "строка / столбец" в массиве C. Тем не менее, компилятор не с
error: expected expression before ‘{’ token
(на карте = {строка). Заполнение массива другими способами работает нормально, и я уверен, что скобки работают для инициализации ... Я не могу сделать это после того, как я выделил память?
РЕДАКТИРОВАТЬ: я решил это путем создания временного массива char, а затем подачи данных на карту Malloced в цикле for.
Еще. Я хотел бы знать, почему приведенный выше код будет пропускать память, как указано ниже. И не исправит ли мое исправление (анализ временного массива и установка с ним данных карты) утечку памяти?