第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参数来确定。所以,“二维数组作为函数参数时,必须显式指定所有维度的大小”这种说法是错误的。