In regard to good style, is it better to use the NULL macro, or should you just use 0? And should you cast either one to the type of pointer you're using?
i.e.:
int* pInt = (int*)0;//this,
int* pInt2 = 0;//this,
int* pInt3 = (int*)NULL;//this,
int* pInt4 = NULL;//or this?