Сохранение массива в файл и его чтение
Если файл бинарный — то просто записываете 
fd = fopen( filename, "wb" );
write( fd, i_regions, sizeof( i_regions ) );
fclose( fd );
, читаем — вместо врайт — рид. 
Если должен быть текстовый, редактируемый руками — тогда json, inifile или как удобнее редактировать (как по мне JSON best ).
FILE* fd = fopen("filename", "rb");  //ключ должен быть "rb" - чтение бинарных данных
if (fd == NULL) 
    printf("Error opening file for reading");
size_t result = fread(region_coordinates, 1, sizeof(region_coordinates), fd);
if (result != sizeof(region_coordinates)) 
    printf("Error reading file"); //прочитали количество байт не равное размеру массива
fclose(fd);

FILE* fd = fopen("filename.bin", "wb");
if (fd == NULL) 
    printf("Error opening file for writing");
fwrite(region_coordinates, 1, sizeof(region_coordinates), fd);
fclose(fd);
