মেমরি লিক ঘটে, যখন মেমরির একটি টুকরা যা পূর্বে প্রোগ্রামার দ্বারা বরাদ্দ করা হয়েছিল। তারপর এটি প্রোগ্রামার দ্বারা সঠিকভাবে বিলি করা হয় না। যে মেমরি প্রোগ্রাম দ্বারা ব্যবহার করা হয় না. তাই কোনো কারণ ছাড়াই জায়গাটি সংরক্ষিত। এজন্য একে মেমরি লিক বলা হয়।
মেমরি লিকের জন্য, মেমরির কিছু ব্লক নষ্ট হয়ে থাকতে পারে। যদি সিস্টেমে পর্যাপ্ত মেমরি থাকে, তবে সেক্ষেত্রে এটি কার্যক্ষমতা কমিয়ে দিতে পারে।
উদাহরণ
void my_func() { int *data = new int; *data = 50; }
এখানে সমস্যা হল *ডেটা পয়েন্টার কখনো মুছে ফেলা হয় না, তাই মেমরি নষ্ট হয়।
উদাহরণ
#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