C语言指针 直接寻址与间接寻址详解
int a;
int *pa=a;
a=10;//直接寻址
printf("%d",*pa);//间接寻址(指针的解引用)
会显示10,但是为啥能从*pa中取出10这个值?
我把“10”比作一个宝石,a是一个放宝石的盒子,*pa是一张藏宝图
int a;表示 我制作一个盒子的过程
int *pa=a,代表的意思就是我在藏宝图上记录盒子的位置这一过程
a=10就是我把宝石放到盒子里
*pa=10表示我先找到藏宝图,再通过藏宝图记录的盒子的位置找到盒子位置,从而取出宝石。
宝石放在盒子里嘛,找到盒子的位置自然就等于找到了宝石。