Для дублирования строк в C есть библиотечная функция с именем strdup
, созданная для этого:
Память, выделенная strdup
, должна быть освобождена после использования с помощью free
.
strdup
обеспечивает выделение памяти и операцию копирования строки за один шаг. Использование массива char может стать проблематичным, если в какой-то момент времени копируемая строка окажется больше, чем размер массива.