Динамические массивы C: основы и использование
Динамические массивы в языке C представляют собой удобный инструмент для работы с данными, которые могут изменяться в процессе выполнения программы. Они позволяют выделять и освобождать память при необходимости, что позволяет экономить ресурсы и повышать эффективность программы.
Динамический массив в C создается с помощью функции malloc (или calloc), которая выделяет необходимое количество байтов памяти и возвращает указатель на первый элемент массива. Пример кода для создания динамического массива целых чисел:
c
int* arr;
int n = 10;
arr = (int*) malloc(n * sizeof(int));
В данном примере создается массив целых чисел длины 10, для выделения памяти используется функция malloc(n * sizeof(int)). Размер массива задается переменной n, которая может меняться в процессе выполнения программы.
После того, как массив был создан, можно работать с его элементами, используя индексы. Например, для присвоения значения элементу массива можно использовать следующий код:
c
arr[0] = 10;
Для освобождения памяти, выделенной под массив, необходимо использовать функцию free, передав в нее указатель на первый элемент массива:
c
free(arr);
Также в языке C существует возможность изменять размер динамического массива в процессе выполнения программы с помощью функции realloc. Например, чтобы увеличить размер массива до 20 элементов:
c
arr = (int*) realloc(arr, 20 * sizeof(int));
В данном примере функция realloc изменяет размер массива на 20 элементов. Первый аргумент функции – указатель на первый элемент массива, второй аргумент – новый размер массива.
Использование динамических массивов в C позволяет удобно работать с данными, которые могут меняться в процессе выполнения программы. При этом не забывайте о необходимости освобождать память, чтобы избежать утечек памяти и других проблем.