2018年1月23日 下午8:14
总结
- 以问题的形式说明知识点
- 一个关于指针的口诀
- 理解数组名
一:以问题的形式说明知识点
前提:
Int a=1;
TYPE *pa=&a
假设a的地址是:0x12345678
第一个问题 :where
1. **指针变量存放在哪里?**
1. 存放在内存中
2. **存放在内存中哪里?**
1. 存放在&pa处
3. **为啥放在那里?**
1. 编译时就决定了地址位置(这个结论来源于arm,我没有验证)第二个问题:how 存
1. **如何存放别人的地址值?**
2. 小端方式存放别人的地址值(eg地址:0x12345678)第三个问题:how 取
1. **如何取对应地址的处的值?**
2. 根据”步长“,也就是sizeof TYPE 的结果二:一个关于指针的口诀
两变,两不变
两变:
1. 指向的内存地址
2. 每次+1走的步长
两不变:
1. 在32位linux系统中,指针本身占内存空间4个字节
1. 64位系统中,指针占8个字节
2. 指针指向的是被指向对象的起始地址,被指向对象多长不管
三:理解数组名(说的太好了)
附录:
老师的笔记:
