int arr[3][] 是一个正确的二维数组的声明。
答案B。二维数组在内存中按行优先连续存储。int array[5][3]中元素按array[0][0]到array[4][2]的顺序连续排列。
二维数组按行优先存储。计算偏移量先确定每行元素个数再乘行号+列号。
【考点】C++数组声明语法|多维数组维度规则|指针与数组语义
本题位于 GESP 四级《C++ 语言基础》模块,重点考查“数组声明语法”与“多维数组维度规则”。命题人刻意用绝对化表述“正确的二维数组声明”来测试考生是否真正理解:在 C++ 中,声明多维数组时必须指定除第一维外的所有维度长度。GESP 四级多次用此类绝对化表述卡住考生,因为多数学员只记住了“二维数组需要两行”的模糊印象,却忽略了编译器计算偏移量的硬约束。