指針的優點(一):擺脫 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

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