<source id="ezsht"></source>

  • <rt id="ezsht"><mark id="ezsht"></mark></rt>
    位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

    C語言 指針變量作為形參,實參為變量的地址

    提問人:劉團圓發(fā)布時間:2020-12-01

        此時將實參中變量的地址傳遞為形參指針,相當(dāng)于指針指向了變量,所以利用指針對變量的值改變將帶回實參。這種用法常用在需要一個函數(shù)返回多個值的情況,因為一個函數(shù)只能返回一個函數(shù)值,所以可以用指針將需要返回的其他值帶回主調(diào)函數(shù)。

    【例題】實現(xiàn)對三個變量按從小到大的順序輸出

        算法分析:

        設(shè)計一個函數(shù)swap(),實現(xiàn)將兩個變量交換,該函數(shù)需要返回兩個值,所以將函數(shù)的形參設(shè)計為指針,實參是兩個變量的地址。

    程序代碼如下:

    #include <stdio.h>

    void swap(int *p,int *q):

    main()

    {

        int a,b,c;

        printf("please input a ,b & c:\n"); 

        scanf("%d%d%d",&a,&b.&c);

        if(a>b)

            swap(&a,&b); 

        if(a>c)

            swap(&a,&c); 

        if(b>c)

            swap(&b,&c);

        printf("%4d%4d%4d\n",a,b,c);

    }

    void swap(int *p,int *q)

    {

        int t;

        t=*p;

        *p=*q;

        *q=t;

    }

    程序執(zhí)行,按照屏幕提示信息輸入:

      6  2  4

    輸出結(jié)果為:

      2  4  6

    程序中,將實參a、b的地址分別賦給形參指針p、q,則a、b與p、q就形成了如圖所示的指向關(guān)系:

    image.png

    指針作為形參和普通變量作為形參一樣,當(dāng)函數(shù)執(zhí)行完畢,指針?biāo)純?nèi)存空間會被收回。

    繼續(xù)查找其他問題的答案?

    相關(guān)視頻回答
    回復(fù)(0)
    返回頂部