野指针的问题
来源:互联网 发布:发那科pmc编程说明 编辑:程序博客网 时间:2024/04/29 05:57
在进行编程的时候我们有时会遇到一种错误警告:段错误
那么什么是段错误呢?
段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址、访问了系统保护的内存地址、访问了只读的内存地址等等情况
其中一个比较典型的段错误原因就是由野指针导致的。
那么什么又是野指针呢?
野指针是指我们定义时未初始化的指针,因为它在定义时未初始化,所以由系统随机分配一个垃圾值给该指针。这样的指针我们使用起来很容易造成内存泄漏的问题;
那么怎么样才能避免野指针的产生呢?
最根本的办法就是养成一个良好的编码习惯,那怎么才是避免野指针的良好习惯?
1。当野指针未初始化时,将指针置为NULL,(NULL代表内存中的0地址,不能对0地址对应的空间进行操作);
2. 当向指针指向的空间中保存数据时,确保该指针已被分配空间,如果没有被分配可以使用malloc进行分配;
3.检查指针空间是否分配成功,若未成功即退出【exit(1)】;
4.当我们使用完毕后,需要把分配来的地址中的残留数据清空,使用(memset);
5.然后释放分配来的这个空间(free);
6.再将该指针置为NULL;
由此可见,很多时候良好的编码习惯可以帮我们解决很多问题,避免了问题的产生,大大提高了效率;
0 0
- 野指针的问题
- 野指针的问题
- 关于“野指针”的问题
- 野指针的问题探讨
- 指针的指针问题研究
- 野指针所引起的问题
- “野指针”(Dangling pointer)的问题
- 野指针所引起的问题
- C/C++中野指针的问题
- Qt::WA_DeleteOnClose 造成的野指针问题
- Qt::WA_DeleteOnClose 造成的野指针问题
- Qt::WA_DeleteOnClose造成的野指针问题
- 指针的问题!
- 指针数组的问题
- 指针的指向问题
- 一个指针的问题
- 指针的赋值问题
- 指针+1的问题
- Leetcode解题报告:406. Queue Reconstruction by Height
- 欢迎使用CSDN-markdown编辑器
- Servlet中的重定向sendredirect方法
- Activity的启动过程(1)
- Fzu 2183 简单题【模拟+谨慎】
- 野指针的问题
- 使用 Versions Maven Plugin 来检测pom.xml 中使用的各个组件是否有新版本
- jQuery文档处理
- WSO2 ——(9)ESB功能:数据转换
- 2016年提高组模拟题(20161114) 文件列表
- 二维数组找数问题
- Java网络编程的Socket应用
- gcc编译器的使用
- Linux下安装FFmpeg