Hàm calloc() trong C++ là gì?

Ham Calloc Trong C La Gi



Việc hiểu các loại chức năng cấp phát bộ nhớ khác nhau là rất quan trọng khi làm việc trong C++. Các calloc() là một hàm như vậy thường được sử dụng trong C++ để cấp phát bộ nhớ động. Mặc dù việc sử dụng nó có vẻ đơn giản, nhưng có một số khía cạnh quan trọng cần lưu ý khi sử dụng calloc() .

Trong bài viết này, chúng ta sẽ xem xét các calloc() chức năng và làm thế nào nó có thể được sử dụng thành công trong C++.

Hàm calloc() là gì?

Các hàm calloc() là một hàm cấp phát bộ nhớ trong lập trình C++. Nó được sử dụng để phân bổ một khối bộ nhớ cho một mảng hoặc tập hợp các biến. Các calloc() chức năng giống như malloc() chức năng, ngoại trừ nó cũng đặt bộ nhớ được phân bổ ban đầu thành 0. Điều này đảm bảo rằng bộ nhớ được phân bổ được khởi tạo thành một giá trị đã biết, điều này rất hữu ích khi làm việc với các mảng và cấu trúc.







Cú pháp cho hàm calloc() là như sau:



khoảng trống * calloc ( size_t nmemb , size_t kích cỡ )

Hàm nhận hai đối số: nmemb kích cỡ . Các nmemb đối số chỉ định số lượng phần tử trong mảng được phân bổ, trong khi đối số kích cỡ đối số chỉ định kích thước của từng phần tử theo byte.



Ngoài ra, nếu cấp phát bộ nhớ thành công, calloc() hàm trả về một con trỏ null, ngược lại nó trả về một con trỏ tới đầu khối bộ nhớ mới được tạo. Để tránh rò rỉ bộ nhớ, bộ nhớ được cấp phát bởi calloc() nên được loại bỏ bằng cách sử dụng miễn phí() phương pháp một khi nó không còn cần thiết.





Cách sử dụng hàm calloc() trong C++?

để sử dụng calloc() chức năng trong C ++, hãy làm theo các bước dưới đây:

Bước 1: Bao gồm tệp tiêu đề cần thiết cho calloc() chức năng, đó là .



Bước 2: Sau đó khai báo một biến con trỏ có kiểu dữ liệu mong muốn.

Bước 3: Sau đó sử dụng calloc() chức năng cấp phát bộ nhớ và khởi tạo nó về 0.

Bước 4: Sử dụng bộ nhớ được cấp phát theo yêu cầu.

Bước 5: Khi bạn đã sử dụng xong bộ nhớ được cấp phát, hãy giải phóng bộ nhớ đó bằng cách sử dụng miễn phí() chức năng.

Ví dụ sau đây cho thấy calloc() triển khai hàm trong C++.

#include

#include

sử dụng không gian tên std ;

int chủ yếu ( ) {

int * ptr ;

ptr = ( int * ) calloc ( 6 , kích thước của ( int ) ) ;

nếu như ( ! ptr ) {

cout << 'Cấp phát bộ nhớ không thành công' ;

lối ra ( 1 ) ;

}

cout << 'Đang khởi tạo giá trị...' << kết thúc

<< kết thúc ;

( int Tôi = 0 ; Tôi < 6 ; Tôi ++ ) {

ptr [ Tôi ] = Tôi * 3 ;

}

cout << 'Giá trị khởi tạo.' << kết thúc ;

( int Tôi = 0 ; Tôi < 6 ; Tôi ++ ) {

cout << * ( ptr + Tôi ) << kết thúc ;

}

miễn phí ( ptr ) ;

trở lại 0 ;

}

Trong đoạn mã trên, một con trỏ số nguyên ptr được khai báo đầu tiên. Bộ nhớ sau đó được phân bổ cho 6 số nguyên bằng cách sử dụng calloc(), với bộ nhớ được khởi tạo bằng 0. kích thước của (int) được sử dụng để tính toán dung lượng bộ nhớ cần thiết để lưu trữ các số nguyên. Việc cấp phát bộ nhớ sau đó được kiểm tra lỗi để đảm bảo thành công. Nếu không, chương trình sẽ kết thúc và thông báo lỗi được hiển thị.

Bộ nhớ được phân bổ sau đó được khởi tạo bằng cách sử dụng các số thu được bằng cách nhân 'tôi * 3' sử dụng một vòng. Các giá trị được giữ trong bộ nhớ được phân bổ được in bằng vòng lặp for thứ hai và phép tính con trỏ với *(ptr + tôi) . Cuối cùng, bộ nhớ được cấp phát động sẽ được giải phóng bằng cách gọi hàm miễn phí() chức năng ngăn rò rỉ bộ nhớ. Như một dấu hiệu cho thấy chương trình đã chạy thành công, nó trả về 0.

đầu ra

Phần kết luận

Trong C++, các calloc() hữu ích cho việc cấp phát bộ nhớ động. Nó không chỉ phân bổ bộ nhớ mà còn xóa nó đi, điều này rất hữu ích khi làm việc với các mảng và cấu trúc. Hiểu cách sử dụng calloc() hiệu quả là rất quan trọng để tránh rò rỉ bộ nhớ và đảm bảo thực hiện chương trình thành công. Các nhà phát triển có thể sử dụng một cách an toàn calloc() trong các chương trình C++ của họ bằng cách làm theo hướng dẫn trong bài viết này.