指针的优点(一):摆脱 return 语句的限制,修改多个实参的值

初学函数的时候,老师们总是强调,要想返回函数处理的结果,需要用到 return 语句,且只能返回一个值。有了指针,自由度增加了,可以不用 return 了,也可以方便地修改多个参数的值了。

一、初露峥嵘,修改一个实际参数的值

#include <stdio.h>

int f1(int a)
{
    a=100;
    return a;
}

void f2(int *a)
{
    *a=999;    
}

int main(void)
{    
    int x,y;
    
    x=f1(x);    
    
    f2(&y);
        
    printf("%d %d",x,y) ;


}
输出结果为:100  999

二、更进一步,修改多个实际参数的值:

#include <stdio.h>

void f3(int *a,int *b)
{
    *a=888;
    *b=999;
}
int main(void)
{    
    int x,y;
    
    f3(&x,&y);
        
    printf("%d %d",x,y) ;

}

输出结果为:888  999

阶段总结:

1、上述程序演示了指针作为函数参数的用法;

2、只是演示了语法,程序基本没有什么算法

三、实际应用

 

下面程序实现二数的交换:

void swap(int *a,int *b)
{
    int t;
    t=*a; *a=*b; *b=t;
}
int main(void)
{    
    int x=3,y=2;
    
    swap(&x,&y);
        
    printf("%d %d",x,y) ;

}

输出结果为: 2   3

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值