Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Câu hỏi thực hành về mảng trong C++


Mảng là một cấu trúc dữ liệu lưu trữ dữ liệu trong vị trí bộ nhớ liền kề.

Khai báo mảng

Khai báo mảng được thực hiện bằng cú pháp sau:
int 1D[] - cho mảng 1 chiều
int 2D[][] - cho mảng 2 chiều

Nếu bạn khởi tạo mảng với ít phần tử hơn, các phần tử còn lại được khởi tạo bằng 0.

Địa chỉ bộ nhớ của các phần tử mảng

Mảng 1 chiều: address[i] = baseAddress + i*size
Mảng 2 chiều (hàng chính): address[i][j] = baseAddress + (i*n + j) * size

Bây giờ, hãy xem một số bài tập thực hành

Dự đoán đầu ra của đoạn mã sau

int arr[5] = {6, 9};
for(int i = 0; i<5; i++)
    cout<<arr[i]<<" ";

Đầu ra

6 9 0 0 0

Mảng được khởi tạo với hai giá trị và các giá trị còn lại được khởi tạo là 0, điều này phản ánh trong đầu ra.

int arr[][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
cout<<arr[1][2];

Đầu ra

6

Tìm địa chỉ của phần tử cho trước của mảng số nguyên. Nếu địa chỉ cơ sở là 1420.

Mảng 1 chiều: arr[43] address = 1420 + 43*2 = 1506
Mảng 2 chiều kích thước arr[10][10]: arr[5][4], lưu theo hàng chính
address = 1420 + (5*10 + 4)*2 = 1420 + (54)*2 = 1528.