【计算机】浅谈指针
内存的本质
最早的内存其实是一根纸条,而如今你可以把它想象成一排房子。不过只有一边有,对面没有就是了。
而每间房子住了三个家伙:地址、含的值、名字(关键字)。
为什么不能给空指针赋值?
比如下面的代码会报错,因为指针p没有地址,它所含的是一个随机数罢了,而我们的内存地址是有限了,这个随机值对应内存地址很可能会超过或者已经被占用。那自然是无法赋值的。
1 |
|
当然如果已知地址了,就可以给该地址所在的内存单元赋值了。
数组与指针
1 |
|
此时的p所含的地址是数组的首个元素的地址,即a[0]
的地址。而p+1则为a[1]
的地址,以此类推。
值得注意的是,a[i]
本身就是数据类型为常量的指针,因为是常量也就是说是无法直接操作,所以才使用*p
。
【计算机】浅谈指针
https://zyf-42.gitee.io/pointer/