「やさしいC」という本の335ページにmalloc()関数の説明が載ってまして
以下のコードが載ってるんですが一部判りません。

int main(void)
{
   char *str;
   int num;

   printf("何文字のaを用意しますか?\n");
   scanf("%d", &num);

   str = (char *) malloc(sizeof(char) * (num + 1));

       ・
       ・
       ・
}

これで確保されたメモリの場所を表すポインタstrが得られる、とあるのですが、
判らない事も無いんですが、最後の行の「 = 」の後「 malloc( 」の前にある
(char *)←このキャスト式みたいの何なんでしょうか?
無くてもいいような気がするんですが。。。