例如:int*
a是指针变量,int
b=3,
a=b,则是错误的,此时a是不等于3的,因为a是指针变量,你不能把b的值赋给它。应该是
b的地址
a=&b,就是正确的,此时a存放的就是b的值在内存中的地址
如果你输出printf(“%d”,a)与printf(“%d”,*a)
结果是不一样
前者输出的是b在内存中的地址,后者输出的是指针a
指向b的地址的值(即b的值3)
就像家里的门牌号一样。比如:
你知道
内存的中有一个数值,你也知道地址,那么你就可以通过地址来找到他。
就像你有一个朋友
,你想去拜访他,然后你照着他给你的地址门牌号,去找他。
地址是存放值的内存空间对应的门牌号码。地址值是门牌号对应内存空间里存放内容。
通俗讲,一栋楼房,
101号房间什么都没只有1个人。
这个人是值。
101是地址。
房间是内存空间。