Hướng dẫn gọi struct theo kểu con trỏ năm 2024

Như các bạn đã biết từ những bài học đầu tiên về ngôn ngữ lập trình, khi ta muốn sử dụng một biến với kiểu dữ liệu nguyên thủy, thì biến đó cần được khai báo. Sau khi khai báo một biến, thì hệ điều hành sẽ tìm đến một vùng nhớ trống trên các thiết bị lưu trữ tạm thời của máy tính [RAM, hoặc ngăn xếp hay các vùng lưu trữ khác,...]; nếu như tìm được một vùng nhớ có đủ khoảng trống cho kích thước của biến đó thì biến sẽ nắm giữ vùng nhớ vừa tìm được.

Minh họa một biến varvar chiếm vùng nhớ 4 bytes trên RAM

Tuy nhiên, sau khi một vùng nhớ đã được cấp phát cho một biến, thì làm sao để chương trình dịch biết được chính xác vị trí của biến đó trên bộ nhớ để thực hiện các lệnh với biến? Rất đơn giản, mỗi biến sau khi được khai báo sẽ có một địa chỉ vùng nhớ trên thiết bị lưu trữ mà biến đó đang được lưu.

2. Địa chỉ của biến

Các thiết bị nhớ cung cấp bộ nhớ tạm thời [là bộ nhớ được sử dụng trong quá trình máy tính làm việc để lưu trữ dữ liệu] đều được tạo nên bởi các ô nhớ liên tiếp nhau, mỗi ô nhớ tương ứng với một byte và đều có một số thứ tự đại diện cho vị trí của ô nhớ đó trong thiết bị. Số thứ tự đó được gọi là địa chỉ của ô nhớ.

Các địa chỉ của ô nhớ là những con số ảo được tạo ra bởi hệ điều hành, mà con người chúng ta rất khó đọc. Hãy cứ tưởng tượng các ô nhớ được đánh số từ 0,0, và địa chỉ cuối cùng được đánh số tương đương với số ô nhớ của thiết bị đó.

3. Lấy địa chỉ của một biến trong C++

Giả sử ta khai báo một biến xx với kiểu dữ liệu bất kỳ trong các kiểu dữ liệu nguyên thủy. Muốn lấy ra địa chỉ của biến xx này, các bạn chỉ cần thêm toán tử

int x = 10;
int & x_reference = x;

6 phía trước nó.


# include 
using namespace std;
main[]
{
    int x;
    cout 

Chủ Đề