21xrx.com
2024-11-22 09:48:12 Friday
登录
文章检索 我的文章 写文章
C++函数中传递二维数组的方法
2023-06-22 03:11:18 深夜i     --     --
C++ 二维数组 函数传递

在C++编程中,使用二维数组可以存储大量的数据,并且可以更方便地对这些数据进行处理。在函数中使用这些二维数组时,需要将数组作为参数传递给函数。下面介绍几种传递二维数组的方法。

1. 使用指向二维数组的指针

可以将二维数组的名字视为该数组首元素的地址,并将其存储在指针变量中。然后将指针传递给函数,该函数可以通过指针访问二维数组的元素。以下是示例代码:


void func(int (*arr)[3], int row){

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

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

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

    }

    cout << endl;

  }

}

int main(){

  int arr[2][3] = { 2, 6};

  func(arr, 2);

  return 0;

}

在示例代码中,`func`函数中的参数是指向一个包含3个元素的整数数组的指针。通过将二维数组的地址传递给函数,可以使其访问传递的数组。在`main`函数中,创建了一个`2x3`的二维数组并将其传递给函数。

2. 将二维数组转换为一维数组

可以将二维数组视为一个连续的一维数组,然后将其传递给函数。函数通过计算访问二维数组的元素。以下是示例代码:


void func(int *arr, int row, int col){

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

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

      cout << *(arr + i * col + j) << " ";

    }

    cout << endl;

  }

}

int main(){

  int arr[2][3] = {1, 4};

  func(&arr[0][0], 2, 3);

  return 0;

}

在示例代码中,`func`函数中的参数是一个整数指针,它指向一个包含6个元素的整数数组。通过将二维数组的第一行的地址转换为整数指针传递给函数,可以使函数访问传递的数组。在`main`函数中,创建了一个`2x3`的二维数组并将其传递给函数。

3. 使用vector容器

可以使用vector容器来存储二维数组,并将其作为参数传递给函数。以下是示例代码:


void func(vector<vector<int>> arr){

  for (int i = 0; i < arr.size(); i++){

    for (int j = 0; j < arr[i].size(); j++){

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

    }

    cout << endl;

  }

}

int main(){

  vector<vector<int>> arr = { 3, 6};

  func(arr);

  return 0;

}

在示例代码中,`func`函数中的参数是一个二维整数向量。创建包含二维数组的向量,并将其传递给函数。

总结

以上是传递二维数组的三种方法。每种方法都有其优缺点,在使用时需要选择最合适的方法。无论哪种方法,都需要实际使用并测试以确保正确的结果。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复