Calling free() deallocates the memory block but does not modify the pointer itself. The pointer continues pointing to the deallocated memory, making it a dangling pointer. A null pointer must be explicitly assigned, and a wild pointer is one that is uninitialized.