Я создал функцию, предназначенную для ввода пользователя. Он требует, чтобы память была назначена переменной, содержащей вход пользователя; однако эта переменная возвращается в конце функции. Каков правильный способ освободить выделенную память/вернуть значение переменной?
Вот код:
char *input = malloc(MAX_SIZE*sizeof(char*));
int i = 0;
char c;
while((c = getchar()) != '\n' && c != EOF) {
input[i++] = c;
}
return input;
Должен ли я вернуть адрес ввода и освободить его после его использования?
Интересно, как правильно выбрать входную переменную.