#include<stdio.h> int k=2; void fun(int *p){ p=&k; } int main( ) { int a=5,*p=&a; fun(p); printf("%d,%d\n",a,*p); return 0; }
void fun(int *p){ //参数p的值是一个内存地址,地址传递传的也是一个表示地址的数字 p=&k; //把内存地址修改成了k的地址,传进来的内存地址所在区域的值并没有变,试试 *p=k //修改后的p并没有被传回去。 }
[此贴子已经被作者于2020-11-26 15:31编辑过]