以指针作为函数参数,不能改变实参指针变量的值从而改变实参值

如题,这是因为 :

1,按值传递,在调用函数的时候,将指向数据的指针实参传递到调用函数的形参中去

2,单向传递,形参中的指针子函数改变地址后不能传给主调函数,变量同样指向了我们希望处理的数据,然后对形参的指针变量指向的数据进行各种希望的处理,在调用函数运行完成后,各个形参指针变量进行了释放。子函数改变地址后不能传给主调函数。


swap( int *p1 , int *p2 )
main ( )
      {
         int a , b ;
         int *point_1 ; int *point_2 ;
         scanf ( "%d,%d" , &a , &b ) ;
         *point_1 = a ;
         *point_2 = b ;
         swap ( point_1 , point_2 ) ;
         printf ( "\n%d,%d\n" , a , b ) ;
      }

swap( int *p1 , int *p2 )
      {
          int temp ;
          temp = *p1 ;
          *p1 = *p2 ;
          *p2 = temp ;
       }

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值