1.指针:在计算机科学中,指针是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。(指针就是地址)
总结:
·指针就是变量,用来存放地地址的变量
·指针是用来存放地址的,地址是唯一标识一块地址空间的
·指针的大小在32位平台是4个字节,在64位平台是8个字节
·指针类型决定了指针进行解引用操作的时候,能访问空间的大小
int* p:*p可以访问4个字节;char* p:*p可以访问一个字节;double* p:*p可以访问8个字节
·指针类型还决定了指针一步走多远(指针的步长)
2.野指针:指针指向的位置是不可知的(随机的,不正确的,没有明确限制的)
野指针的成因:(1)指针未初始化
(2)指针越界
(3)指针指向的空间释放了
规避野指针的方法:(1)指针初始化
(2)小心指针越界
(3)指针指向空间释放即放置NULL
(4)指针使用之前检查有效性