Я хочу читать данные от пользователя, используя программу C. Я не хочу использовать массив, например,
char names[50];
потому что если пользователь задает строку длиной 10, остальные пробелы теряются.
Если я использую указатель символа, например,
char *names;
тогда мне нужно выделить память для этого таким образом,
names = (char *)malloc(20 * sizeof(char));
В этом случае также существует возможность потери памяти.
Итак, мне нужно динамически выделять память для строки, которая точно такая же, как длина строки.
Предположим, что
Если пользовательский ввод "stackoverflow"
, то выделенная память должна быть 14
(т.е. Длина строки = 13 и 1 дополнительное пространство для '\ 0').
Как я мог достичь этого?