quando in c dobbiamo usare malloc() ? è necessario allocare spazio in memoria quando bisogna definire una stringa? perché'??