当程序员先前分配的一块内存发生内存泄漏。这样程序员就不能正确地释放它。该程序不再使用该内存。因此,毫无保留地保留了该位置。这就是为什么这被称为内存泄漏。
对于内存泄漏,可能浪费了一些内存。如果系统具有足够的内存,在这种情况下也可能会降低性能。
void my_func() { int *data = new int; *data = 50; }
这里的问题是* data指针永远不会删除,因此会浪费内存。
#include <stdio.h> main(void) { auto int my_fun(); my_fun(); printf("Main Function\n"); int my_fun() { printf("my_fun function\n"); } printf("Done"); }
输出结果
my_fun function Main Function Done