Динамический массив символов в C
Как создать динамический массив символов (размер массива определяется в процессе ввода) в С?
Ответы (1 шт):
Автор решения: Konstantin_SH
→ Ссылка
В самом языке Си нет динамических массивов, но функции стандартной библиотеки malloc, free и realloc позволяют реализовать массив переменного размера:
int *mas = (int*)malloc(sizeof(int) * n); // Создание массива из n элементов типа int
...
mas = (int*)realloc(mas, sizeof(int) * m); // Изменение размера массива с n на m с сохранением содержимого
...
free(mas); // Освобождение памяти после использования массива
Неудобство данного подхода состоит в необходимости вычислять размеры выделяемой памяти, применять явное преобразование типа и тщательно отслеживать время жизни массива (как и всегда при работе с динамически выделенной памятью в Си).
Динамическое выделение памяти должно помочь.