Pointers hold memory addresses.
Pointers hold memory addresses.
Pointers hold memory addresses.
Pointers hold memory addresses.
Doing memset(&some_pointer, '\0', any_length_of_data) is pretty-universally a bad thing.
I pray that's the last thing I break on this. I haven't much time left to submit.