Forever Young

「笔记」指针学习笔记

指针定义

指针是一个值为内存地址的变量(或数据对象)


赋值

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)应为指针指定一个地址后,才能在语句中使用指针

posted @ 2019-04-11 16:48  Loceaner  阅读(155)  评论(2编辑  收藏  举报