Mảng là cấu trúc dữ liệu lưu trữ dữ liệu ở vị trí bộ nhớ dễ lây lan.
Khai báo mảng
Declaring arrays is done by the following syntax : int 1D[] - for 1-D array int 2D[][] - for 2-D array
Nếu bạn khởi tạo một mảng có số phần tử í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ử của mảng
1-D array : address[i] = baseAddress + i*size 2-D array (row major) : address[i][j] = baseAddress + (i*n + j) * size
Bây giờ, chúng ta hãy xem một số vấn đề 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à phần còn lại của các giá trị được khởi tạo bằng 0 được 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 của mảng số nguyên. Nếu địa chỉ cơ sở là 1420.
1D array : arr[43] address = 1420 + 43*2 = 1506 2D array of size arr[10][10] : arr[5][4], stored as row major address = 1420 + (5*10 + 4)*2 = 1420 + (54)*2 = 1528.