Динамический массив символов в 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); // Освобождение памяти после использования массива

Неудобство данного подхода состоит в необходимости вычислять размеры выделяемой памяти, применять явное преобразование типа и тщательно отслеживать время жизни массива (как и всегда при работе с динамически выделенной памятью в Си).

Динамическое выделение памяти должно помочь.

→ Ссылка