Hãy tha thứ cho tôi nếu đây là một câu hỏi ngớ ngẩn nhưng tôi sợ rằng tôi không biết 'chồng' là gì.Điều gì, chính xác, là 'Ngăn xếp' vì nó liên quan đến .Net
Tôi biết 'ngăn xếp' là gì và tôi đã học được từ viết tắt FILO/FIFO. Nhưng khi mọi người nói những thứ như 'một loại giá trị được phân bổ trên ngăn xếp, không phải là đống' - Tôi sợ tôi không thực sự biết điều đó có nghĩa là gì.
Khi tôi giới thiệu lỗi logic vào hàm đệ quy - tôi không thể cấp thêm bộ nhớ cho 'ngăn xếp' và ứng dụng của tôi bị lỗi .... nhưng tôi không thực sự hiểu nó là gì.
Tôi đã cố gắng tìm câu trả lời của Google nhưng chỉ tìm thấy thông tin về 'ngăn xếp' và cách sử dụng.
Khi tôi chạy ứng dụng .Net - nó có tạo ra một 'ngăn xếp ngăn xếp' để hoạt động như 'Ngăn xếp' không? Tôi đã nhìn thấy dấu vết Stack cho tôi thấy mức độ thực thi của mã - thường xuyên nhất khi tôi gặp phải một ngoại lệ không được chấp nhận ... nhưng tất cả những gì tôi nhớ là có thể thấy là các phương thức và thứ tự chúng được gọi ... sẽ không ngăn xếp cũng có tất cả các biến trong phạm vi cho mỗi bước của ngăn xếp.
Có lẽ tôi chỉ là ngớ ngẩn - nhưng tôi nghĩ tôi có thể tưởng tượng một tình huống có chức năng đệ quy, sẽ thuận tiện để xem giá trị trước đó của biến - từ 'chồng' nhưng không cần phải vượt qua nó in.
Dunno nếu điều đó có ý nghĩa gì - nó quá muộn. Nhưng tôi thực sự sẽ đánh giá cao bất kỳ thông tin ai có.
Khi bạn không thể phân bổ thêm bộ nhớ, tôi đoán đó là do có đệ quy vô hạn, có nghĩa là tại một số điểm, máy tính sẽ không có đủ bộ nhớ để tính toán đệ quy. –
Cụm từ * "Một loại giá trị được phân bổ trên ngăn xếp" * không hoàn toàn chính xác. Xem ở đây để biết thêm thông tin: http://stackoverflow.com/questions/1130468/memory-allocation-of-value-types-and-reference-types-in-net-framework –
BTW, cho "The Heap vs The Stack" , đây là một bản tóm tắt ngắn: http://ee.hawaii.edu/~tep/EE160/Book/chap14/subsection2.1.1.8.html –