Program, który wczytuje łańcuchy znaków i dla każdego łańcucha zajmuje tylko tyle pamięci ile wymaga tego wczytany łańcuch.
Czy do napisania takiego programu wystarczy użyć funkcji malloc? ;)
0
1
Raczej chodzi o getline
który za Ciebie rezerwuje pamięć:
int main()
{
char *line = NULL;
size_t nbytes = 0;
// Powyższe zmienne zostaną zaktualizowane po zaalokowaniu pamięci
printf("Podaj ciag znakow: \n");
int bytes_read = getline(&line, &nbytes, stdin);
if(bytes_read == -1)
{
// Błąd
}
else
{
printf("%s", line); // Wypisz to co wpisał użytkownik.
}
free(line); // Zwolnij zarezerwowany obszar pamięci.
return 0;
}