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什么事。”---
酷壳陈皓