Computer >> Máy Tính >  >> Lập trình >> C ++

Hàm miễn phí trong C ++ là gì?

Hàm thư viện C / C ++ void free (void * ptr) phân bổ bộ nhớ đã được cấp phát trước đó bởi một cuộc gọi tới calloc, malloc hoặc realloc. Sau đây là khai báo hàm free ().

void free(void *ptr)

Hàm này nhận một con trỏ ptr. Đây là con trỏ đến một khối bộ nhớ đã được cấp phát trước đó với malloc, calloc hoặc realloc sẽ được phân bổ. Nếu một con trỏ null được chuyển làm đối số, không có hành động nào xảy ra.

Ví dụ

#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
int main () {
   char *str;
   /* Initial memory allocation */
   str = (char *) malloc(15);
   strcpy(str, "tutorialspoint");
   cout << "String = "<< str <<", Address = "<< &str << endl;
   /* Reallocating memory */
   str = (char *) realloc(str, 25);
   strcat(str, ".com");
   cout << "String = "<< str <<", Address = "<< &str << endl;
   /* Deallocate allocated memory */
   free(str);
   return(0);
}

Đầu ra

String = tutorialspoint, Address = 0x22fe38
String = tutorialspoint.com, Address = 0x22fe38