C内存错误

时间:2022-12-22 18:58:10


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什么事。”---

酷壳陈皓