it's generally known to all that when pass a value as a parameter,such as an integer,a double or other type, any revision or other change can't make a difference to original value.
But when it comes to a pointer,things become different,since the value passed is an address so change the destination do make a difference to where it points to
However,is it always the case?
Of course not,if you pass an empty pointer to the function, any revision to the null pointer,such as allocate a new space to the pointer,will not cast any influence on the original pointer since it is NULL;
this had been ignored by me before so I'd write it down.