#include<stdio.h> void f1(int a){ a++; printf("a is:%d\n",a); } void f2(int *p){ (*p)++; printf("*p is:%d\n",*p); } int main(){ /* demo1 int a = 1; int* p = &a; printf("first:%d\n",*p); f2(p); printf("second:%d\n",*p); */ /* demo2 */ int b = 1; printf("first:%d\n",b); f1(b); printf("second:%d\n",b); return 1; }
demo1結果:
first:1 *p is:2 second:2
demo2結果:
first:1 a is:2 second:1
結論:當指針變量作為參數進行傳參操作時,方法內部對變量進行操作,同時
也會影響傳入的指針變量的值,因為他們指向的是同一塊存儲空間的數據
可參考圖:

