|C语言-形参改变实参的原理
【|C语言-形参改变实参的原理】
①原理
利用指针通过形参改变实参 ,
输入指针类型的形参x和y , 改变形参公式中指针所指的值*x和*y , 从而达成指针(地址)到值(变量)之间
重要环节都在定义函数中完成 , 调用函数只需确保实参为改变值的地址或指针即可 。
~
②定式
定义函数:fun(int*xint*y)
定义函数公式:*x , *y
int*是类型 , 实质是fun(xy) , 只不过x和y是指针类型变量 , 即形参必须是指针类型变量 。
由此可知
形参与形参公式的
搭配1
形参:int*xint*y(xy)
公式:*x*y
搭配2
形参:int*&xint*&y(&x&y)
公式:*&x*&y(xy)
~
③反例
#include< stdio.h>
void fun(int *aint*b)
{int*t;
t=a;a=b;b=t;
/*定义函数表示交换 , 但并不具备改变实参的功能 。
因为搭配是形参a、b和形参公式a、b即输入地址改变地址 , 并不改变地址中的值 。
应该改为t=*a;*a=*b;*b=t*/
main()
{int x=1y=2*p=&x*q=&y;
fun(pq);printf(\"%d%d\"*p*q);
/*fun函数不具备改变实参功能 ,
输入p、q是指向x、y的指针交换p、q不影响*p和*q , 即结果还是1、2 。 */
fun(&x&y);printf(\"%d%d\\"*p*q);
/*fun函数不具备改变实参功能 ,
输入&x、&y是x、y的地址交换&x、&y不影响*p和*q , 即结果还是1、2 。 */
- 小米科技|C语言-结构体与指针移动
- c语言|好家伙!手机隐藏的开发者选项功能竟然这么强大!
- 折叠屏|折叠屏改变生活?绿哥以Find N为例测试:传统的操作方式都变了
- c语言|高德纳公布全球半导体收入前十企业,美国和韩国成为最大赢家
- iPhone|苹果iPhone14 Pro新配色曝光,全新设计语言,性能迎来飞跃
- vivo|一款让你改变执念的手机-X70pro+
- 社会化营销|华为仓颉语言是不是中文不重要,思维才是我们想要的
- 软件|苹果愿意为客户“改变”了!新iPhone传来消息
- Java|Java:Java 编程语言有什么好处?
- ios16|大神爆料:iOS16没有大改变,别期望太高!