- 题解
二维数组
- @ 2025-8-31 15:26:16
二维数组
理解
二维数据就是一维数组的数组 通过连续的空间存储数据
定义:
数据类型 数组名[行][列];
int arr[3][2]
1
arr[3][2]图解 
完全初始化

部分初始化
之后的数据默认为0

访问数据修改数据(通过下标访问)

arr[0][2] = 7;
注意点:数据初始化在主函数外默认0;
真题
  

提升
-
(2024年3月 四级 第4题) 对二维数组
int arr[3][16];,则arr[1]占用内存的大小为( )字节?-
A. 4
-
B. 16
-
C. 48
-
D. 64
-
答案:D
-
解析: 本题考查二维数组的内存分配。
arr[1]是一个一维数组,包含 16 个int元素。在 C++ 中,一个int通常占 4 字节,因此arr[1]的大小为16 * 4 = 64字节4。
-
-
(2024年3月 四级 第5题) 对二维数组
int arr[3][16];,若arr的地址是0x28cbc0,则arr[1]的值是?-
A.
0x28cbc4 -
B.
0x28cbd0 -
C.
0x28cc00 -
D. 不确定
-
答案:C
-
解析: 二维数组在内存中是按行连续存放的。
arr[0]的大小是16 * 4 = 64字节,即0x40字节。arr[1]的地址是arr[0]的地址加上arr[0]的大小:0x28cbc0 + 0x40 = 0x28cc004。
-
-
(2024年3月 四级 第20题 判断题) 定义数组
int a[2024][3][16]={2,0,2,4,3,1,6};,则cout << a[2023][2][15]的结果不确定。-
答案:错误
-
解析: 数组初始化时,提供的初始值会按内存顺序依次赋值,未明确初始化的元素会被自动初始化为0。因此,
a[2023][2][15]的位置远超提供的初始值,其值确定地为04。
-