取地址操作符是&,也叫引用
通过该操作符好我们可以拿到一个地址
取值操作符为*,也叫解引用。
通过该操作符我们可以拿到一个地址对应位置的数据。
通过 *访问与修改该地址对应的数据
&*a等于a
*&a等于a
#include<stdio.h>
void func(int* a,int* b)
{
*a=100;*b=50;
}
int main()
{
int a=50,b=100;
func(&a,&b);
printf("%d %d",a,b);
}
结果 100 50
以上代码块中传递的是a.b的地址,再对a.b进行解引用修改其中的值。
拿电脑的快捷方式打个比方
建立快捷方式其实就是把原件的地址存储起来封装成为一个图标。
通过快捷方式可以打开、查看原件信息。
同时,可以通过解引用来找到原件的存储位置,然后修改原件。
建立快捷方式的好处就是可以节约空间。
再举个例子,假如你是一个桥梁维修工,你是选择把桥搬到家里面来修,还是选择记住桥梁的地址,然后过去修?
int *p=&武汉长江大桥(获得桥的地址)
*p(访问桥)
*有两个用处,一个是作为指针符号来声明定义指针,另一个用处就是作为解地址符,来访问该地址所对应的内存。