指针的危险
来源:互联网 发布:linux我的世界启动器 编辑:程序博客网 时间:2024/05/16 01:33
指针是一种高效率的好东西,可以设计出高效率的程序,但是指针使用不当那就是高危险,会给整个系统带来灭顶之灾。整个系统分分钟奔溃!下面是我大概总结常见的指针高危的操作,甚至可以说是非法操作!
1、指针还没有指向就直接对其进行赋值操作!
例如:int* Temp;
*Temp = 10;
对于初学者一开始不怎么留意的话很容易就会犯这种致命的错误。下面可以说是一个一直以为是对的程序,是关于交换两个值的一段代码:
void swap(int* p,int* q)
{
int* temp;
*temp = *p;//致命的错误,指针还没有明确的指向就对其进行赋值
*q = *temp;
}
2、第二种错误主要是指针用完回收,但是就是没有赋值为NULL。
如果没有赋值为NULL,而又是释放了内存的话,这个时候指针就是野指针,或者叫迷途指针。只要后面程序对其赋值就会导致系统奔溃的可能。
正确的做法就是用完释放的指针最好都要指向NULL,只要是指向了NULL那么后期对其赋值也没事,也就是对一个空指针赋值是安全的。因此,一开
始声明指针的时候最好要置为NULL的初始操作,指针释放之后也要置为NULL。可以保证系统安全!
总结:指针没用置NULL,释放一个空指针没什么问题,要是指针乱指向,释放的话是非常危险的事情,有可能造成整个系统奔溃!
0 0
- 指针的危险
- 指针的危险
- 指针的危险
- 使用智能指针的危险
- 返回局部变量的指针很危险
- 指针,其实很危险
- delete void*形式的指针是非常危险的
- 返回本地变量的指针是很危险的
- 返回static的变量指针危险和printf的执行顺序
- 不对文件指针进行非空判断是很危险的(今天就碰到了)
- Vista延期的危险
- OLE2A的潜在危险
- Vista延期的危险
- 危险的线程
- 危险的API
- getchar隐藏的危险
- 最危险的域名?
- gh0st的危险代码
- The Beginning
- leetcode 239.Sliding Window Maximum
- ansible安装过程出现的问题
- Android 四大组件(总结)
- 一个服务器搭多个tomcat导致session丢失,或者同一个IP不同端口,多个应用的session会冲突解决方法
- 指针的危险
- Django数据库之一对一
- 人活着是为了什么--(反思 - 2016年10月27日)
- How-to create a Windows 10 usb installation media in Linux
- MapReduce学习(一)、(二)
- echarts-去掉X轴、Y轴和网格线
- Angular 2.0 实现的搜索框
- 前后台交互方法
- ansible第一次使用它的配置