Библиотека Resize C для изменения размеров изображений на языке программирования C
Функция resize в языке программирования С используется для изменения размера выделенной памяти для массива или структуры. Функция принимает на вход три параметра: указатель на массив, текущий размер массива и новый размер массива.
Пример кода для изменения размера массива:
c
#include
#include
int main() {
int* array = (int*)malloc(5 * sizeof(int)); // выделение памяти под массив на 5 элементов
for (int i = 0; i < 5; i++) {
array[i] = i + 1; // заполнение массива по порядку от 1 до 5
printf("%d ", array[i]); // вывод элементов массива на экран
}
printf("\n");
array = (int*)realloc(array, 10 * sizeof(int)); // изменение размера массива до 10 элементов
for (int i = 0; i < 10; i++) {
if (i >= 5) {
array[i] = i + 1; // заполнение массива по порядку от 6 до 10
}
printf("%d ", array[i]); // вывод элементов массива на экран
}
printf("\n");
free(array); // освобождение выделенной памяти
return 0;
}
В этом примере создается массив на 5 элементов и заполняется числами от 1 до 5. Затем с помощью функции realloc изменяется размер массива до 10 элементов и оставшиеся элементы заполняются числами от 6 до 10. В конце исходный массив очищается с помощью функции free.
Пример кода для изменения размера структуры:
c
#include
#include
typedef struct { // определение структуры
int x;
int y;
} Point;
int main() {
Point* point = (Point*)malloc(sizeof(Point)); // выделение памяти под структуру
point->x = 1; // задание значения поля x
point->y = 2; // задание значения поля y
printf("Point: (%d, %d)\n", point->x, point->y); // вывод значений полей на экран
point = (Point*)realloc(point, 2 * sizeof(Point)); // изменение размера структуры до двух экземпляров
point[1].x = 3; // задание значения поля x у второго экземпляра
point[1].y = 4; // задание значения поля y у второго экземпляра
printf("Points: (%d, %d) and (%d, %d)\n", point[0].x, point[0].y, point[1].x, point[1].y); // вывод значений полей на экран
free(point); // освобождение выделенной памяти
return 0;
}
В этом примере создается структура Point с полями x и y. Затем выделяется память под эту структуру и значения полей задаются для первого экземпляра. С помощью функции realloc изменяется размер структуры до двух экземпляров, и для второго экземпляра задаются новые значения полей. В конце исходная структура очищается с помощью функции free.