admin 管理员组

文章数量: 1086019


2024年4月21日发(作者:sqlserver异地备份)

c++二维数组传参数

在C++中,你可以通过以下几种方式传递二维数组作为参数:

1. 使用指针传递二维数组:

```cpp

#include

// 函数声明,参数为二维数组和行、列数

void printArray(int arr[][3], int rows, int cols);

int main() {

const int rows = 2;

const int cols = 3;

int myArray[rows][cols] = {{1, 2, 3}, {4, 5, 6}};

// 调用函数,传递二维数组及其行、列数

printArray(myArray, rows, cols);

return 0;

}

// 函数定义,使用指针传递二维数组

void printArray(int arr[][3], int rows, int cols) {

for (int i = 0; i < rows; ++i) {

for (int j = 0; j < cols; ++j) {

std::cout << arr[i][j] << " ";

}

std::cout << std::endl;

}

}

```

2. 使用指针和动态内存分配传递二维数组:

```cpp

#include

// 函数声明,参数为二维数组和行、列数

void printArray(int** arr, int rows, int cols);

int main() {

const int rows = 2;

const int cols = 3;

// 动态分配内存

int** myArray = new int*[rows];

for (int i = 0; i < rows; ++i) {

myArray[i] = new int[cols];

}

// 初始化数组

for (int i = 0; i < rows; ++i) {

for (int j = 0; j < cols; ++j) {

myArray[i][j] = i * cols + j + 1;

}

}

// 调用函数,传递二维数组及其行、列数

printArray(myArray, rows, cols);

// 释放动态分配的内存

for (int i = 0; i < rows; ++i) {

delete[] myArray[i];

}

delete[] myArray;

return 0;

}

// 函数定义,使用指针和动态内存分配传递二维数组

void printArray(int** arr, int rows, int cols) {

for (int i = 0; i < rows; ++i) {

for (int j = 0; j < cols; ++j) {

std::cout << arr[i][j] << " ";

}

std::cout << std::endl;

}

}

```

这两种方法都是常见的在C++中传递二维数组的方式,具体选择哪种方式取决于你的需求和

偏好。在使用动态内存分配时,记得在不需要使用数组时释放相应的内存。


本文标签: 数组 传递 使用 指针 方式