指针的优点(一):摆脱 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章