一 学习指针的目标
- 从专业角度了解指针的作用
- 会使用指针进行基本运算
- 会使用指针作为函数的参数
- 会使用指针数组和数组指针
- 会使用二级指针
- 会使用函数指针
指针运算:
- *p 代表是它所指的地址上面的值的运算
- p++ 是p 指针变量++,结果就是:p指向它的下一个地址
数组与指针
通过数组下标所能完成的任何操作都可以通过指针来实现。而用指针编写的程序比用数组下标编写的程序执行速度快,但是,指针写的程序会比较难理解一点。
=======================================================
指针类型
p address: 0xbdfe84
p address: 0xbdfe88
0xbdfe88 - 0xbdfe84 = 4
cp address: 0xc56b40
cp address: 0xc56b41
0xc56b41 - 0xc56b40 =1
=========================================================
指针数组和数组指针
首先,要区分指针数组和数组指针
指针数组是指:是一个数组,数组里存储的是指针类型的变量
如: int *p1[4];
数组指针: 是一个指针,这个指针指向的是一个数组的首地址
如:int (*p2)[4]
=========================================================
二级指针
// 二级指针,存的内容是一个一级指针的地址
// p 是一个指针变量,这个变量本身就是一个地址的别名
// *p 运算,得到的就是a 的值
// *p2 运算,得到的就是p的值
//**p2 运算,得到的就是 p的值的 *运算得到的值 a;