关于为什么做一个交换函数要用到指针

关于为什么做一个交换函数要用到指针

在Ç中函数有两个参数,分别是形参和实参

形参是自定义的函数所拥有的参数,在自身中可以被使用,自身外不可用,也就是他的作用域是定义它的函数本身

实参是主调函数的参数,在被调函数中不可用

例如:

int swap(int a,int b){.......}

int main(void){

int s=1,d=2;

swap(s,d);

}

开头的A,B就是交换的形参,而在Main中定义的S,d是实参

当我们在main中调用交换时,主会将S,d的值传给交换的形参,于是交换的形参就具备了和main中对应实参相同的值,而这样在Swap中做交换,结果只是交换了形参的值而不会影响到main中实参的值。

但若是使用指针,如下

int swap(int *a,int *b){.......}

int main(void){

int s=1,d=2;

swap(&s,&d);

}

&是取地址运算符

当我们在main中调用swap时,就会把s,d的地址作为值传给在swap定义的两个指针形参* * b

于是他们就具备了实参S,d的地址,

*是取内容运算符

此时的* a,* b实质对应main中实参s,d而不是第一个例子中s,d的值

这样我们交换*一个,* B的值,实质是交换指针的a,b地址对应的变量S,d的值,于是就实现了改变main中实参的值的效果

= =结束啦

相关推荐

泰国国家移民局加强入境现金审查,最新滞留信息解读!
正确养小鸡的方法
亚洲365世界杯

正确养小鸡的方法

⌛ 07-12 👁️ 4855
驾驶证a照怎么考有什么条件
365bet手机app

驾驶证a照怎么考有什么条件

⌛ 07-07 👁️ 3703
博朗5090cc( BRAUN 5090cc )
BSt365提现

博朗5090cc( BRAUN 5090cc )

⌛ 07-03 👁️ 2646
西班牙女足赛程时间表
BSt365提现

西班牙女足赛程时间表

⌛ 08-30 👁️ 9688
周末副本之月见山攻略详细版(上)
BSt365提现

周末副本之月见山攻略详细版(上)

⌛ 07-01 👁️ 6739