@jett
Для реализации динамического массива в C можно использовать указатели и функции для выделения и освобождения памяти. Вот пример:
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 26 27 28 29 30 31 32 33 34 35 |
#include <stdio.h> #include <stdlib.h> int main() { int n = 5; // начальный размер массива int *arr = (int*)malloc(n * sizeof(int)); // выделение памяти // инициализация массива for (int i = 0; i < n; i++) { arr[i] = i; } // вывод элементов массива for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } // изменение размера массива n = 10; arr = (int*)realloc(arr, n * sizeof(int)); // инициализация новых элементов массива for (int i = 5; i < n; i++) { arr[i] = i; } // вывод элементов массива после изменения размера for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } free(arr); // освобождение памяти return 0; } |
В данном примере используются функции malloc()
и realloc()
для выделения памяти под массив. Функция malloc()
выделяет память для массива определенного размера, а функция realloc()
изменяет размер выделенной памяти для массива. После использования массива нужно освободить выделенную для него память с помощью функции free()
.