Quản lý bộ nhớ trong LINUX

Hàm này cũng không đượcsửdụng phổ biến. Hàm chỉnhsửa kíchcỡcủa một khối nhớ được cấpphát trước đó. void *realloc(void *ptr, size_t size); Hàm này nhận đốisố là con trỏ ptr trỏ đến vùng nhớ trảvềbởi các hàmcấp phát như malloc( ), calloc( ), thậm chíkểcả hàm realloc( ), sau đó thực hiện co giãn haytăng giảm khối nhớ theokích thước size chỉ định . Hàm đảmbảo vùng nhớmới đạt kích thước như yêu cầu . Nếu thành công, giá trị trảvềcủa hàm là con trỏ trỏ đến vùng nhớ đã thay đổi kích thước.Một điềulưu ý là trong chương trình nên dùngmột con trỏ khác để nhậnkết quả do hàm realloc( ) trảvề, không bao giờsửdụnglại con trỏ chuyển cho realloc( ) trước đó. Ngượclại ,nếu vùng nhớ không thể thay đổi kích thước như yêucầu , hàmsẽ trảvề con trỏ NULL. Do đónếu gán cho giá trị trảvềcủa hàm realloc( ) làmột con trỏ đangsửdụng thì khi hàm không thành công, nósẽ trảvề giá trị NULL và vùng nhớ con trỏ trỏ đến trước đó sẽbị thất lạc.

pdf27 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 2858 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Quản lý bộ nhớ trong LINUX, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên

Các file đính kèm theo tài liệu này:

  • pdfQuản lý bộ nhớ trong LINUX.pdf
Tài liệu liên quan