古いコードなんかでよく以下のようなコードを見かけるのですが、
どういう意図なのでしょうか?

char* c
c = (char*)NULL;

NULLをポインタに入れるときにあえてその型にキャストする必要はあるのでしょうか?
c = NULL;
ではまずいのでしょうか?