Computer >> Máy Tính >  >> Lập trình >> C ++

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

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.