1. 程式人生 > >C語言函式傳遞指標引數

C語言函式傳遞指標引數

 

#include <stdio.h>
void swap(int *a,int *b)
{
    printf("address in swap():%p %p\n",a,b);
    int temp=*a;
    *a=*b;
    *b=temp;
}
int main()
{
    int a=4,b=5;
    printf("address in main():%p %p\n",&a,&b);
    swap(&a,&b);
    printf("a = %d ,b = %d\n",a,b);
    return 0;
}

函式的傳遞實質是形參值對實參值的拷貝。(形參需要重新定義及分配記憶體)

swap()函式:對拷貝的地址指向值進行賦值,函式內通過對地址的指向值,記憶體的操作,操作函式外的值。

更簡單的方法為引用&,直接對函式外的值進行操作,方便易懂。