C内存错误

来源:互联网 发布:手机有用的软件 编辑:程序博客网 时间:2024/06/03 10:15

C语言的结构和指针是C中的重点和精华,而指针错误大概是最常见的错误,指针错误就是因为对内存操作错误造成的。

C内存错误:

1. 内存分配未成功,却使用了它。if(p!=NULL){  }
2. 内存分配虽然成功,但是尚未初始化就引用它。
3. 内存分配成功并且已初始化,但操作越过了内存的边界。
4. 忘记了释放内存,造成内存泄露。malloc/free;new/delete
5. 释放了内存却继续使用它。 
有三种情况:
  (1)程式中的对象调用关系过于复杂,实在难以搞清楚某个对象究竟是否已释放了内存,此时应该重新设计数据结构,从根本上解决对象管理的混乱局面。
  (2)函数的return语句写错了,注意不要返回指向“栈内存”的“指针”或“引用”,因为该内存在函数体结束时被自动销毁。

  (3)使用free或delete释放了内存后,没有将指针配置为NULL。导致产生“野指针”。


阅读以下书籍: 
(1) windows程序设计(Windows API 编程)
不需要理解MFC,直接使用API(Application Programming Interface)来进行编程.
(2) VC++深入详解--孙鑫
对于学习MFC编程很有帮助的入门书.

(3) Windows系统编程(Windows 核心编程)   一本相当深的书


查阅以下网站:

csdn,vckbase,csdn,newxing.com等。


路线: Windows API-MFC-STL-WTL 


不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用。 (操作系统,汇编语言,计算机组成原理,编译原理,数据结构与算法,C语言)

“我个人认为以后的趋势是前端是Web+移动,后端是Linux+开源。开发这边基本上没Windows什么事。”---酷壳陈皓 
0 0
原创粉丝点击