কম্পিউটার টিউটোরিয়াল

সি++-এ free() ফাংশন কী?


সি/সি++ লাইব্রেরি ফাংশন void free(void *ptr) পূর্বে calloc, malloc, বা realloc কল দিয়ে অ্যালোকেট করা মেমরি ডি-অ্যালোকেট করে। free() ফাংশনের ডিক্লেরেশন নিচে দেওয়া হলো:

void free(void *ptr)

এই ফাংশন একটি পয়েন্টার ptr নেয়। এটি malloc, calloc বা realloc দিয়ে পূর্বে অ্যালোকেট করা একটি মেমরি ব্লকের পয়েন্টার যা ডি-অ্যালোকেট করা হবে। যদি নাল পয়েন্টার আর্গুমেন্ট হিসেবে পাস করা হয়, তবে কোনো অ্যাকশন ঘটে না।

উদাহরণ

#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;

int main() {
    char *str;
    /* প্রাথমিক মেমরি অ্যালোকেশন */
    str = (char *) malloc(15);
    strcpy(str, "tutorialspoint");
    cout << "String = " << str << ", Address = " << &str << endl;
    /* মেমরি রি-অ্যালোকেট করা */
    str = (char *) realloc(str, 25);
    strcat(str, ".com");
    cout << "String = " << str << ", Address = " << &str << endl;
    /* অ্যালোকেট করা মেমরি ডি-অ্যালোকেট করা */
    free(str);
    return 0;
}

আউটপুট

String = tutorialspoint, Address = 0x22fe38
String = tutorialspoint.com, Address = 0x22fe38
  1. C++-এ log() ফাংশন

  2. C++-এ swap() ফাংশন

  3. C++-এ আর্গুমেন্ট-ডিপেনডেন্ট লুকআপ (ADL / Koenig Lookup) কী?

  4. লিনাক্সে C++-এর জন্য সেরা IDE কী?