指针定义
指针是一个值为内存地址的变量(或数据对象)
赋值
int *p=NULL;p=&a;(&取地址符)
一个栗子
int year=2016;
int * ptr_year;
*ptr_year=&year;(指向)
又一个栗子
int num=1024;
int *ptr_num;
ptr_num=#
*ptr_num=1111; //此处等同于num=1111
void指针
一种特殊的指针类型,可以存储任意对象的地址
(1)void *指针存放一个内存地址,地址指向的内容是什么类型不能确定
(2)void 类型一般用来拿来和别的指针比较,作为函数的输入和输出或赋值给另一个void 指针
初值问题
指针必须有初值,否则会出现野指针
野指针指向一个已删除的对象或未申请访问受限内存区域的指针。与空指针不同,野指针无法通过简单地判断是否为 NULL避免,而只能通过养成良好的编程习惯来尽力减少。对野指针进行操作很容易造成程序错误。
小结
(1)指针同样是一个变量,只不过该变量中存储的是另一个对象的内存地址
(2)指针变量可以赋值,指针的指向在程序执行中可以改变
(3)如果一个变量存储另一个变量的地址,则称该变量指向这个对象
一些需要注意的点
(1)指针变量的命名规则和其他变量的命名规则一样
(2)指针不与现在变量同名
(3)指针可为任何基本数据类型、数组和其他所有高级数据结构的地址
(4)若指针已声明为指向某种数据类型数据的地址,则它不能用于存储其他类型数据的地址
(5)应为指针指定一个地址后,才能在语句中使用指针