大家都知道,C语言之所以经久不衰,很大一部分原因是其拥有着自由而强大的指针操作能力,但是在拥有指针强大的操纵内存能力的同时,不可避免地会带来很多的危险,这就需要很谨慎的使用指针。
C不像Java那样有垃圾回收机制(即自动确认并回收不在使用的内存区域),它需要程序员自行管理动态内存的分配与回收。动态分配的操作区域是堆内存,堆内存经常会出现两种类型的问题:
1、释放或改写仍在使用的内存(称为“内存损坏”)。
2、未释放不再使用的内存(称为“内存泄漏”)。
大家都知道,C语言之所以经久不衰,很大一部分原因是其拥有着自由而强大的指针操作能力,但是在拥有指针强大的操纵内存能力的同时,不可避免地会带来很多的危险,这就需要很谨慎的使用指针。
C不像Java那样有垃圾回收机制(即自动确认并回收不在使用的内存区域),它需要程序员自行管理动态内存的分配与回收。动态分配的操作区域是堆内存,堆内存经常会出现两种类型的问题:
1、释放或改写仍在使用的内存(称为“内存损坏”)。
2、未释放不再使用的内存(称为“内存泄漏”)。