одномерного массива в двухмерный, неужели это единственный способ?
int (*arr)[10] = (int (*)[10]) malloc (sizeof(int) * 100);
можно еще через memcpy
int matrix[COL][ROW] = {{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}, {16, 17, 18, 19, 20}, {21, 22, 23, 24, 25}}; int arr[COL * ROW] = {0}; memcpy(arr,(int*)&matrix,COL*ROW*sizeof(int)); тип так
https://stackoverflow.com/questions/59243140/copying-a-1d-array-to-a-row-of-2d-array-using-memcpy вот
На языке си это можно записать более лаконично int (*arr)[10] = malloc(sizeof *arr * 10);
Обсуждают сегодня