What is memory leak?
A memory leak occurs when all references (pointers) to a piece of allocated memory are overwritten, cleared, or pass out of scope. The result is that the program simply "forgets" about that particular piece of memory.Unfortunately , the operating environment (usually an OS) is not aware of the application's amnesia. That memory is treated by the outside world as though it still belongs to the application. The memory is therefore completely unavailable;it has "leaked". (In the worst case, the memory can become unavailable to all applications in the system, even if the application that created the leak is terminated. The memory can only be reclaimed by rebooting the system.)