值传递 地址传递 引用传值
值传递:隐含的把实参的值赋给形参
地址传值:
main()
{
int a= 1; int b =2;
Exchang(&a,&b);
}
Exchang(int *x,int *y)
隐含把a b 的地址传给x y,x=&a,y=&b<=>对a b变量本身的操作
引用传值:
main()
{
int a =4;int b=6;
Change(a,b);
}
Change(int &x,int &y);
x y 分别引用a,b变量
int main(int argc,char *argv[]){
int a = 25;
printf("a:%d\n",&a);
int *p;
p = &a;//p是存的a的地址
int **pi;
pi = &p;//pi存放p的地址
printf("p:%d\n",p);//a的地址
printf("&p:%d\n",&p);//p的地址
printf("*p:%d\n",*p);// 对p解引用,到p指针指向的这个地址去取值
printf("pi:%d\n",pi);//存放p的地址 =&p
printf("&pi:%d\n",&pi);//pi的地址
printf("*pi:%d\n",*pi);//到pi指针指向的这个地址去取值 =p
printf("**pi:%d\n",**pi);//
getchar();
}
*p是对p解引用
*p 是p指针所指地址的内容; p指向内存编号的地址
结果: