关于指针所存的地址和指针所指向的值
#include<stdio.h> void f(int *p); void g(int k); int main() { int i=6; printf("&i=%p\n",&i);//输出i在内存中存放的地址 f(&i);//传递i的地址,传给f函数中的指针变量*p g(i);//传递i的值,传给k } void f(int *p) { printf(" p=%p\n",p);//p存放的是i的地址 printf("*p=%p\n",*p);//*p指向i的值,所以*p=i=6 *p=16;//*p指针变量指向i,改变的是i的值,所以g函数中i的值已经发生改变 } void g(int k) { printf(" k=%d\n",k); }