//在函数内部修改b的值,a的值改不动
#include<stdio.h>
void fun(int b)
{
printf("b=%d\n",b);
b=5;
printf("b=%d\n",b);
}
int main(void)
{
int a=2;
printf("a=%d\n",a);
fun(a);
printf("a=%d\n",a);
return 0;
}
//在函数内部对地址进行操作,可以改变主函数变量的值,变量地址不变
#include<stdio.h>
void fun(int *p)
{
int b=*p;
printf("b=%d,&b=%p\n",*p,&b);
*p=5;
printf("b=%d,&b=%p\n",*p,&b);
}
int main(void)
{
int a=2;
printf("a=%d,&a=%p\n",a,&a);
fun(&a);
printf("a=%d,&a=%p\n",a,&a);
return 0;
}
在百度上面的解释是:"‘解引用’,我倒觉得可以从另一个角度理解,"*“的作用是引用指针指向的变量值,引用其实就是引用该变量的地址,“解"就是