remeke (remeke) · GitHubhttps://github.com/remeke今天学的是指针
指针是什么?
在计算机科学中,指针是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存贮器中另一个地方的值,由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,降低至形象化的成为“指针”。意思是通过它能找到以它为地址的内存单元。
指针是个变量,存放内存单元的地址(编号)。
指针类型决定了指针进行解引用操作的时候,能够访问空间的大小。
int*p:*p能够访问4个字节
char*p:*p能够访问1个字节
double*p:*p能够访问8个字节
指针运算:
指针类型决定了:指针走一步走多远(指针的步长)
int*p:p+1 -->4
char*p:p+1 -->1
double*p:p+1 -->8
野指针
概念:野指针就是指针指向的位置是不可知的(随机的,不正确的,没有明确限制的)
1、指针未初始化
2、指针越界访问
3、指针指向的空间释放
如何避免野指针:
1、指针初始化
2、小心指针越界
3、指针指向空间释放即使置NULL
4、指针使用之前检查有效性