[c] What's the difference between a null pointer and a void pointer?