C++动态二维数组如何传递给函数

   2024-10-05 9320
核心提示:在C++中,可以通过指针或引用的方式将动态二维数组传递给函数。使用指针传递动态二维数组:void function(int** array, int rows

在C++中,可以通过指针或引用的方式将动态二维数组传递给函数。

使用指针传递动态二维数组:
void function(int** array, int rows, int cols) {    // 访问数组元素    for(int i = 0; i < rows; i++) {        for(int j = 0; j < cols; j++) {            cout << array[i][j] << " ";        }        cout << endl;    }}int main() {    int rows = 3;    int cols = 3;        // 创建动态二维数组    int** arr = new int*[rows];    for(int i = 0; i < rows; i++) {        arr[i] = new int[cols];    }        // 初始化数组    for(int i = 0; i < rows; i++) {        for(int j = 0; j < cols; j++) {            arr[i][j] = i * rows + j;        }    }        // 调用函数    function(arr, rows, cols);        // 释放内存    for(int i = 0; i < rows; i++) {        delete[] arr[i];    }    delete[] arr;        return 0;}
使用引用传递动态二维数组:
void function(int**& array, int rows, int cols) {    // 访问数组元素    for(int i = 0; i < rows; i++) {        for(int j = 0; j < cols; j++) {            cout << array[i][j] << " ";        }        cout << endl;    }}int main() {    int rows = 3;    int cols = 3;        // 创建动态二维数组    int** arr = new int*[rows];    for(int i = 0; i < rows; i++) {        arr[i] = new int[cols];    }        // 初始化数组    for(int i = 0; i < rows; i++) {        for(int j = 0; j < cols; j++) {            arr[i][j] = i * rows + j;        }    }        // 调用函数    function(arr, rows, cols);        // 释放内存    for(int i = 0; i < rows; i++) {        delete[] arr[i];    }    delete[] arr;        return 0;}

无论是使用指针还是引用,都可以在函数中对动态二维数组进行操作。需要注意的是,在传递动态二维数组给函数后,需要在函数结束后手动释放内存,以避免内存泄漏。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号