C语言指针数组做函数参数,与指针变量做函数参数

2024-12-15 12:56:09
推荐回答(1个)
回答1:

这就是传值 和传地址调用的区别。

要改变一个变量的值,到主调函数中也生效,那就必须穿地址(传指针), 否则不行。
不过 并不是指针类型就可以,而必须是要修改类型的指针。
比如 你要修改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的值。