Когда я запускаю этот код, я продолжаю получать ошибки сегментации. Я знаю, что ошибки сегментации возникают, когда памяти недостаточно, выделенной для массива. Кто-нибудь знает, где происходит ошибка seg?Получение ошибок сегментации при переворачивании изображения
void flip_horizontal(uint8_t array[],
unsigned int cols,
unsigned int rows)
{
for(int r = 0; r < rows; r++)
{
unsigned int left = 0;
unsigned int right = cols;
int* array = malloc(sizeof(uint8_t));
assert(array);
while(left != right && right > left)
{
int temp = array[r * cols+ left];
array[(r * cols) + left] = array[(r * cols) + cols - right];
array[(r * cols) + cols - right] = temp;
right++;
left++;
}
free(array);
}
}
Добавить '-g' в вашей GCC командной строки при компиляции и запустить программу под отладчиком GDB. Он точно скажет вам, где происходит segfault, а также позволяйте вам сориентироваться и видеть, какие переменные приводят к плохому доступу ('info locals'). –