2Rainbow : Fakt to nechapu

Mohl bys prosim uvest nejakej konkretni priklad? A s tim free, proc?
Jinak me jeste napadlo - kdyz maji byt retezce LIBOVOLNE dlouhe, tak je blbost tam psat malloc (256), ne? Protoze to natvrdo alokuju 256 bytu a to nemusi pri delsim retezci stacit, right? Jak by se to dalo udelat, abych tam mohl dat opravdu LIBOVOLNE dlouhe retezce?
Jo a jeste, jak na nacitani z klavesnice?
Kdyz dam scanf("%s", vstup), tak mi to nacte retezec jen do prvni mezery, tedy napriklad pri vstupu z keyboard "Ahoj vsichni!" to nacte jen "Ahoj"... Pokud mezeru vynecham, je to v poho... NEvite nekdo co s tim, pls?