int i;
int *heap;
heap = (int *)malloc(sizeof(int) * 10);

↑
こういう例題があるんですが、
(int)はキャスト変換で、(int)の右の値をint型に変換しているんだとして、
(int *)と、*がついているのは何故ですか?