2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > C语言函数调用指针交换值

C语言函数调用指针交换值

时间:2021-07-10 12:09:14

相关推荐

C语言函数调用指针交换值

int p;p = *a;*a = *b;*b = p;

可以发现函数调用前后还是函数执行前后地址都没有发生改变,值做了交换

int *p;*p = *a;*a = *b;*b = *p;

可以发现三个指针互换时,是不能交换值和地址的,只有中间*a = *b起到了作用,所以b的值给了a

int *p;p = a;a = b;b = p;

可以发现在函数里交换了地址,值做了交换,但只在当前函数生效,

但丝毫不影响主函数的值,因此在其他函数交换指针地址是不能改变主函数的值的

如果我们在函数里改变了形参指针的地址,会发现即使在函数里地址发生改变,值发生改变,也并不会改变主函数的地址和值

除非我们把指针的值改变,主函数的值才会改变

因此得出结论: 只有在函数里改变了指针的值,才会影响到主函数的实参,如果只是交换地址什么的,对主函数没有任何影响

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。