#include<stdio.h> void f1(int a){ a++; printf("a is:%d ",a); } void f2(int *p){ (*p)++; printf("*p is:%d ",*p); } int main(){ /* demo1 int a = 1; int* p = &a; printf("first:%d ",*p); f2(p); printf("second:%d ",*p); */ /* demo2 */ int b = 1; printf("first:%d ",b); f1(b); printf("second:%d ",b); return 1; }
demo1结果:
first:1 *p is:2 second:2
demo2结果:
first:1 a is:2 second:1
结论:当指针变量作为参数进行传参操作时,方法内部对变量进行操作,同时
也会影响传入的指针变量的值,因为他们指向的是同一块存储空间的数据
可参考图: