C語言地址傳遞


#include <stdio.h>函數

int GetSum(int* _sum, int _num1, int _num2)
{
//將ps的值賦給_sum,_sum的值就是ps的值,即sum的地址,*_sum就是取_sum上存放的地址的值。對*_sum作運算,就會改變sum的值
    *_sum = _num1 + _num2;
    return *_sum;
}io

void main()
{
    int sum = 0;
  //將sum的地址賦給ps,ps的值就是sum的地址,ps的地址與sum的地址不一樣,是各自單獨的存儲空間
    int* ps =  & sum;class

    int num1 = 1;
    int num2 = 2;
//函數GetSum傳遞ps的值
    GetSum(ps, num1, num2);  //經過傳遞sum變量的地址,在函數內部改變其值
}變量

備註:
sum,ps,_sum都有各自獨立的存儲空間,各地址均不相同。
可是ps和_sum的值相同,等同於&sum。di

相關文章
相關標籤/搜索