C 语言中的指针和内存泄漏
在使用 C 语言时,您是否对花时间调试指针和内存泄漏问题感到厌倦?如果是这样,那
么本文就适合您。您将了解可能导致内存破坏的指针操作类型,您还将研究一些场景,了解
要在使用动态内存分配时考虑什么问题。
引言
对于任何使用 C 语言的人,如果问他们 C 语言的最大烦恼是什么,其中许多人可能会回
答说是指针和内存泄漏。这些的确是消耗了开发人员大多数调试时间的事项。指针和内存泄
漏对某些开发人员来说似乎令人畏惧,但是一旦您了解了指针及其关联内存操作的基础,
它们就是您在
C 语言中拥有的最强大工具。
本文将与您分享开发人员在开始使用指针来编程前应该知道的秘密。本文内容包括:
导致内存破坏的指针操作类型
在使用动态内存分配时必须考虑的检查点
导致内存泄漏的场景
如果您预先知道什么地方可能出错,那么您就能够小心避免陷阱,并消除大多数与指针
和内存相关的问题。
什么地方可能出错?
有几种问题场景可能会出现,从而可能在完成生成后导致问题。在处理指针时,您可以使
用本文中的信息来避免许多问题。
未初始化的内存
在本例中,p 已被分配了 10 个字节。这 10 个字节可能包含垃圾数据,如图 1 所示。
char *p = malloc ( 10 );
图
1. 垃圾数据
如果在对这个 p 赋值前,某个代码段尝试访问它,则可能会获得垃圾值,您的程序可能