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.
Các file đính kèm theo tài liệu này:
- Quản lý bộ nhớ trong LINUX.pdf