Tại sao cần phải cấp phát vùng nhớ cho 1 node mới trong linked list

A post was split to a new topic: Gặp vấn đề khi vừa thêm phần tử vừa sắp xếp trên linked list

Ủa làm gì có thu hồi biến local? Biến local được cấp phát trên stack, xài xong thì nó dịch stack pointer ngược lên, giá trị và địa chỉ của biến local vẫn tiếp tục được giữ nguyên cho tới khi bị thằng khác overwrite lên chứ?

2 Likes

có bổ sung/đính chính thêm đó :V :V

thì dịch ngược lên là thu hồi bộ nhớ trên stack đó rồi đó. Truy cập nó là UB :V

biến local mà trỏ tới vùng nhớ cấp phát động thì đương nhiên vùng nhớ cấp phát động đó ko được thu hồi, chỉ có biến con trỏ local đó bị thu hồi thôi. Nói biến local bị thu hồi đúng rồi còn gì :unamused:

2 Likes

Cái này do là bạn khai báo ở trên kiểu Node là 1 kiểu con trỏ, do đó cần phải khai báo trước khi sử dụng, nếu không là nó sẽ bị lỗi (hoặc là không lỗi nhưng sẽ không ra kết quả). Bạn thấy dưới này tôi chạy đoạn code của bạn complier sẽ bắt lỗi và dừng ngay, nhưng nếu bạn dùng code block thì những lỗi này sẽ không bị bắt và chạy êm ru, mặc dù chẳng ra gì cả.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?