第5题 二维数组作为函数参数时,必须显式指定所有维度的大小。
【答案】 错误
【考纲知识点】 二维数组作为函数参数的传递规则
【解析】
在C++里,二维数组作为函数参数时,不需要显式指定所有维度的大小,但必须指定除第一维之外其他维度的大小。这是因为在函数调用时,编译器需要知道每一行的元素个数,以便正确地进行内存寻址和数据访问。
例如,下面是一个正确的示例:
#include<iostream>
//函数定义,指定第二维大小
voidprintArray(intarr[][3],introws){
for(inti =0;i <rows;++i){
for(intj =0;j <3;++j){
std::cout<<arr[i][j]<<" ";
}
std::cout<<std::endl;
}
}
intmain(){
intarr[2][3]={{1,2,3},{4,5,6}};
printArray(arr,2);
return0;
}
在这个例子中,函数printArray的参数arr只指定了第二维的大小为3,第一维大小由调用函数时传入的rows参数来确定。所以,“二维数组作为函数参数时,必须显式指定所有维度的大小”这种说法是错误的。