C ++ malloc () - Thư viện chuẩn C ++

Hàm malloc () trong C ++ cấp phát một khối bộ nhớ chưa được khởi tạo và trả về một con trỏ void đến byte đầu tiên của khối bộ nhớ được cấp phát nếu việc cấp phát thành công.

Hàm malloc () trong C ++ cấp phát một khối bộ nhớ chưa được khởi tạo và trả về một con trỏ void đến byte đầu tiên của khối bộ nhớ được cấp phát nếu việc cấp phát thành công.

Nếu kích thước bằng 0, giá trị trả về phụ thuộc vào việc triển khai thư viện. Nó có thể là một con trỏ null hoặc không.

nguyên mẫu malloc ()

 void * malloc (size_t size);

Hàm này được định nghĩa trong tệp tiêu đề.

tham số malloc ()

  • size: Giá trị tích phân không dấu đại diện cho khối bộ nhớ tính bằng byte.

malloc () Giá trị trả về

Hàm malloc () trả về:

  • một con trỏ đến khối bộ nhớ chưa khởi tạo được cấp phát bởi hàm.
  • con trỏ null nếu phân bổ không thành công.

Ví dụ 1: Hàm malloc () hoạt động như thế nào?

 #include #include using namespace std; int main() ( int *ptr; ptr = (int*) malloc(5*sizeof(int)); if(!ptr) ( cout << "Memory Allocation Failed"; exit(1); ) cout << "Initializing values… " << endl << endl; for (int i=0; i<5; i++) ( ptr(i) = i*2+1; ) cout << "Initialized values" << endl; for (int i=0; i<5; i++) ( /* ptr(i) and *(ptr+i) can be used interchangeably */ cout << *(ptr+i) << endl; ) free(ptr); return 0; )

Khi bạn chạy chương trình, đầu ra sẽ là:

 Đang khởi tạo giá trị… Giá trị được khởi tạo 1 3 5 7 9

Ví dụ 2: Hàm malloc () với kích thước bằng không

 #include #include using namespace std; int main() ( int *ptr = (int*) malloc(0); if(ptr==NULL) ( cout << "Null pointer"; ) else ( cout << "Address = " << ptr << endl; ) free(ptr); return 0; )

Khi bạn chạy chương trình, đầu ra sẽ là:

 Địa chỉ = 0x371530

thú vị bài viết...