C語言的函式

成强發表於2024-06-28
#include <stdio.h>
#include <malloc.h>

/**
 * 1.定義一個值傳遞函式
 * @param a  變數值
 * @param b  變數值
 */
void swap_value(int a , int b){
    int temp;
    temp =a;
    a=b;
    b=temp;
    /*沒有返回*/
    return;
}

/**
 * 2.定義一個地址傳遞函式
 * //例如 int p=6
 * @param a  為地址值 = &p
 * @param b  為地址值 = &p
 */
void swap_address(int* a , int* b){
    //定義一個的變數  :存放地址位置上的值(不是地址)
    int temp;

    /*把 a地址變數上的值,給temp*/
    temp =*a;

    /*把 b地址變數上的值,給a地址變數上的值 */
    *a=*b;

    /*把 temp的值,給b地址變數上的值 */
    *b=temp;
    /*沒有返回*/
    return;
}

int main()
{

    int x=5,y=3;
    /*1.使用值傳遞 :不會改變原來的值*/
    swap_value(x,y);
    printf("使用值傳遞的結果為:x=%d,y=%d\n",x,y);


    /*2.使用地址傳遞 :改變 傳入地址值 位置上 原來的值*/
    swap_address(&x,&y);
    printf("使用使用地址傳遞的結果為:x=%d,y=%d",x,y);
    return 0;
}



使用值傳遞的結果為:x=5,y=3
使用使用地址傳遞的結果為:x=3,y=5
程序已結束,退出程式碼為 0

相關文章