这就是传值 和传地址调用的区别。
要改变一个变量的值,到主调函数中也生效,那就必须穿地址(传指针), 否则不行。
不过 并不是指针类型就可以,而必须是要修改类型的指针。
比如 你要修改int 就要传int*
要修改 char * 就要传char **
然后 在函数中改变参数指向空间的值,也就是修改*p的值。
在你第一个 修改的是char* 传的是char** 这个是ok的
第二个
修改的是char 传的是char * 这个也是对的,但函数里面改变值的方法不对
改变的是u,v
而不说*u *v
如果改成
char temp;
temp=*u;
*u=*v;
*v=temp;
这样就可以了。
记住两点 要改变type型的值
一个是 传的需要是type*的参数p
另一个 函数中 改变的要是*p的值。