1. 用指针来保存地址:每个被定义的变量都有自己的地址,可以用指针来保存所定义变量的地址,即使它没有被赋值。
2. 空指针:指针就是用来保存内存地址的变量,因此定义一个指针后一定要用它来保存一个内存地址,假如不那么做,那么该指针就是一个失控指针,它可以指向任何地址,并且对该地址的数值进行修改或者删除,可能会造成意想不到的后果,解决方法是将该指针初始化为0。
3. 指针与变量类型:由于不同类型的变量在内存中所占用的字节不同,而指针又是用来保存内存地址的变量,因此指针只能存储与它类型相同的变量的地址。例如:将浮点型变量a 的地址赋给整型指针变量p时,由于类型不同,会导致编译出错。
4. 为什么使用指针:因为在操作大型数据和类时,由于指针可以通过内存地址直接访问数据,可避免在程序中复制大量的代码,因此指针的效率最高,一般说来,指针会有3大用途:
<a> 处理堆中存放的大型数据;
<b> 快速访问类的成员数据和函数;
<c> 以别名的方式向函数传递参数。