Máy tính, Internet > Lập trình > Lập trình - Khác

Xin giải thích về Heap và Stack trong C#, cơ chế làm việc như thế nào?

nguyen huy tung
Bất kỳ ứng dụng viết bằng ngôn ngữ nào, sau khi dịch đều được đổi ra dạng ngôn ngữ máy. Khi 1 chương trình chạy, nó truy xuất một số vùng nhớ chứa thông tin khác nhau như sau: - Vùng nhớ chứa dữ liệu tĩnh của chương trình, vùng nhớ này chứa các biến dữ liệu được khai báo trong chương trình. Vùng này có kích thước cố định trong suốt quá trình chạy của ứng dụng. - Vùng nhớ chứa dữ liệu động của chương trình, vùng nhớ này chứa các dữ liệu được cấp phát động (qua lệnh New, hàm malloc()...). Ta thường gọi vùng nhớ này là Heap. - Vùng nhớ phục vụ cho việc gọi hàm và truyền tham số, vùng nhớ này được gọi là Stack với cơ chế truy xuất rất đặc biệt: chỉ cho phép ghi dữ liệu vào đỉnh stack và chỉ cho phép đọc dữ liệu từ đỉnh stack, ta nói cách truy xuất này là LIFO (Last-in First-out), nghĩa là dữ liệu nào mới được ghi vào sau cùng thì sẽ được đọc ra đầu tiên. Thường các lệnh của ngôn ngữ cấp cao không cho phép truy xuất trực tiếp vào Stack.

Hỏi đáp đề xuất

Lập trình - Khác

Em đang học lập trình C/C++}

pcmax 17 năm
Bạn tìm cuốn Lập trình C/C++ của thầy Phạm Văn Ất đấy. Cuốn đấy đầy đủ và cũng dễ học Xem thêm
Lập trình - Khác

Trong HDH linux có sử dụng được lệnh for như trong C++ không?}

loc minh tung 17 năm
trong HDH linux có sử dụng được lệnh for, với cấu trúc giống như trong c++ nhưng thêm ";" bên ngoài ngoặc, cú pháp... Xem thêm
Lập trình - Khác

Lập trình trong C# 2005 có khác VS C++ không?}

loc minh tung 17 năm
có khác nhau về cách dùng câu lệnh. và trong C# 2005 tích hợp nhiều ngôn ngữ khác ví dụ như: ASP.NET, C.net ... Xem thêm
Lập trình - Khác

Trong HĐH linux mới có cần cài phần mềm C++ không?}

loc minh tung 17 năm
Không cần cài như trên Windows vì C++ được tích hợp sẵn trong linux
Lập trình - Khác

Mình muốn học và hiểu về VBA nhưng không biết bắt đầu thế nào?}

Đào Văn Hải 9 năm
Mình vừa đăng ký 1 lớp VBA excel bên công ty Stanford ngoài Hà Nội bạn à, Mình học theo hình thức học online của công... Xem thêm
Lập trình - Khác

Trong C# chuyển dữ liệu từ Foxpro sang sql server như thế nào?}

thuy linh 15 năm
Bạn có thể dùng SQLBulkCopy với DataReader hay DataSource là nguồn dữ liệu (bạn có thể lấy dữ liệu từ các database SQL,... Xem thêm
Lập trình - Khác

Cần giúp đỡ về bài tập lập trình C ?}

phạm văn phúc 12 năm
Trích dẫn: Từ bài viết của phomuadong 1. #include <stdio.h> #include <string.h> int... Xem thêm
Lập trình - Khác

Cho em hỏi về lập trình c tý hem}

15 năm
muốn dùng hàm getch() thì phải khai báo thư viện #include<conio.h> thì mới dùng được chứ. ok
Lập trình - Khác

Hỏi cách giải đề cấu trúc dữ liệu và thuật giải 1 ?}

quyết quang quý 14 năm

ban muon theo ngon ngu j c++ c

bai nay kha la dai nen

lien he quyetquangquy@yahoo.com