练习 C++ 数组题


数组是一种将数据存储在连续内存位置中的数据结构。

声明数组

Declaring arrays is done by the following syntax :
int 1D[] - for 1-D array
int 2D[][] - for 2-D array

如果你用数量较小的元素初始化数组,其他元素都用 0 初始化。

数组元素的内存地址

1-D array : address[i] = baseAddress + i*size
2-D array (row major) : address[i][j] = baseAddress + (i*n + j) * size

现在,我们来看一些实践问题

预测以下代码片段的输出

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

输出

6 9 0 0 0

数组用两个值初始化,其余值用 0 初始化,这反映在输出中。

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

输出

6

找到整数数组中给定元素的地址。如果基址为 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.

更新于: 04-2020 年 2 月

923 次浏览

开启你的 职业

完成该课程获得认证

开始学习
广告
© . All rights reserved.