在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.