GIÁO TRÌNH C++ - Trang 55

void * calloc (size_t nelements, size_t size);

nó sử dụng hai tham số thay vì một. Hai tham số này được nhân với nhau để có
được kích thước tổng cộng của khối nhớ cần cấp phát. Thông thường tham số
đầu tiên (

nelements

) là số phần tử và tham số thức hai (

size

) là kích thước của

mỗi phần tử. Ví dụ, chúng ta có thể định nghĩa

bobby

với

calloc

như sau:

int * bobby;

bobby = (int *) calloc (5, sizeof(int));

Một điểm khác nhau nữa giữa

malloc

calloc

calloc

khởi tạo tất cả các

phần tử của nó về 0.
Hàm realloc.
Nó thay đổi kích thước của khối nhớ đã được cấp phát cho một con trỏ.

void * realloc (void * pointer, size_t size);

tham số

pointer

nhận vào một con trỏ đã được cấp phát bộ nhớ hay một con

trỏ null, và

size

chỉ định kích thước của khối nhớ mới. Hàm này sẽ cấp phát

size

byte bộ nhớ cho con trỏ. Nó có thể phải thay đổi vị vị trí của khối nhớ để

có thể đủ chỗ cho kích thước mới của khối nhớ, trong trường hợp này nội dung
hiện thời của khối nhớ được copy tới vị trí mới để đảm bảo dữ liệu không bị
mất. Con trỏ mới trỏ tới khối nhớ được hàm trả về. Nếu không thể thay đổi kích
thước của khối nhớ thì hàm sẽ trả về một con trỏ null nhưng tham số

pointer

nội dung của nó sẽ không bị thay đổi.
Hàm free.
Hàm này giải phóng một khối nhớ động đã được cấp phát bởi

malloc

,

calloc

hoặc

realloc

.

void free (void * pointer);

Hàm này chỉ được dùng để giải phóng bộ nhớ được cấp phát bởi các hàm

malloc

,

calloc

and

realloc

.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.