Hiển thị kết quả từ 1 đến 5 / 5
  1. #1
    Tham gia
    14-07-2017
    Bài viết
    1
    Like
    0
    Thanked 0 Times in 0 Posts

    Cấp phát bộ nhớ động

    Anh/chị cho em hỏi sau khi cấp bộ quyền sử dụng bộ nhớ động cho con trỏ mình phải dùng hàm free để giải phóng nó, nhưng giả sử vì biến con trỏ lại được tạo từ vùng nhớ stack(cục bộ), nên khi chạy xong hàm thì biến này sẽ tự động mất đi, vậy mình sẽ không cần dùng free() để giải phóng?
    Quote Quote

  2. #2
    Tham gia
    09-08-2009
    Location
    localhost
    Bài viết
    21
    Like
    1
    Thanked 3 Times in 3 Posts
    Con trỏ trên Stack chỉ bộ nhớ bên Heap (Khôi nhớ khi bạn yêu cầu cấp phát). Khi chạy xong hàm thì đúng là con trỏ mất đi nhưng khối nhớ vẫn còn. Nếu Bạn dùng C# thì sẽ tự dọn cho Bạn

  3. #3
    Tham gia
    10-12-2004
    Location
    HCMC
    Bài viết
    2,121
    Like
    283
    Thanked 720 Times in 362 Posts
    Quote Được gửi bởi kid14061406 View Post
    Anh/chị cho em hỏi sau khi cấp bộ quyền sử dụng bộ nhớ động cho con trỏ mình phải dùng hàm free để giải phóng nó, nhưng giả sử vì biến con trỏ lại được tạo từ vùng nhớ stack(cục bộ), nên khi chạy xong hàm thì biến này sẽ tự động mất đi, vậy mình sẽ không cần dùng free() để giải phóng?
    nếu biến đó mất đi thì vùng nhớ trong heap vẫn bị cấp phát và nằm đó, không có chuyện không cần dùng hàm free nhé. Đó gọi là leak memory.

  4. #4
    Tham gia
    18-04-2018
    Bài viết
    10
    Like
    0
    Thanked 1 Time in 1 Post
    Bạn nhớ dùng free() để giải phóng bộ nhớ nữa nhé

  5. #5
    Tham gia
    17-04-2012
    Bài viết
    12
    Like
    1
    Thanked 2 Times in 1 Post
    Quote Được gửi bởi kid14061406 View Post
    Anh/chị cho em hỏi sau khi cấp bộ quyền sử dụng bộ nhớ động cho con trỏ mình phải dùng hàm free để giải phóng nó, nhưng giả sử vì biến con trỏ lại được tạo từ vùng nhớ stack(cục bộ), nên khi chạy xong hàm thì biến này sẽ tự động mất đi, vậy mình sẽ không cần dùng free() để giải phóng?
    ngôn ngữ như c có hỗ trợ hàm alloca cấp phát bộ nhớ trên stack, đương nhiên khỏi cần free rồi bạn

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •