C/C++——指针
Posted bingoc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C/C++——指针相关的知识,希望对你有一定的参考价值。
未初始化的指针可以指向任何地方,空指针表示未分配、不指向任何有意义的地方,
定义指针变量,一定要记得指针初始化,分配内存,最后要释放指针,以防内存泄漏
int *p;
p=(int *)malloc(sizeof(int));//分配不成功将返回空指针
free(p);
p=NULL;//指针释放后,是释放指向的那块内存,但是该指针还是没有变,所以free后,该指针指向了垃圾内存,需要把指针置为空指针,不指向任何值。
#define NULL 0 空指针表示不指向任何地方,(可以理解成指向地址为NULL,但是这个地址是不会允许有任何操作的,所以空指针是不指向任何实际的对象或函数空指针不指向任何实际的对象或函数,反过来说对象或函数的指针也不可能为空指针。)
赋值为空指针,是让它在没有被使用之前,不让它乱指,但是在具体使用的时候还是得先给他个具体的地址,指向一个具体的内存空间
viod *P 无类型指针 表示不指定类型的指针,可以指向任何类型
野指针:指向垃圾(不可用)内存的指针,所以未初始化指针、free后未置NULL指针、指针操作超出变量作用范围都将产生野指针
指针的释放是释放指针指向堆中的内存区域
reference:
https://www.cnblogs.com/linyilong/p/5165731.html
https://www.cnblogs.com/stoneJin/archive/2011/09/21/2183684.html
https://blog.csdn.net/toonny1985/article/details/4489777
以上是关于C/C++——指针的主要内容,如果未能解决你的问题,请参考以下文章
C/C++指针踩坑历险记-常量指针-const ptr *,指针常量ptr * const,引用,指针传参,指针修改,指针指向的值修改等问题