21xrx.com
2024-12-22 23:09:13 Sunday
登录
文章检索 我的文章 写文章
C++ 如何传递二维数组?
2023-07-04 19:15:35 深夜i     --     --
C++ 二维数组 传递

在C++中,传递二维数组可以通过引用方式实现,具体分为以下两种方式:

### 方式一:传递指向二维数组首元素的指针


void function1(int (*arr)[3])

{

 // 操作数组元素

 arr[0][1] = 1;

}

int main()

{

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

 function1(arr); // 将arr的地址传递给function1

 return 0;

}

在上面的例子中,函数function1接受指向int数组的指针,其中数组的第二个维度的大小为3。在函数内部,数组的所有元素都可以被访问并修改。在main函数中,将二维数组arr的地址作为参数传递给了function1,因此数组在函数中被传递了。

### 方式二:使用STL容器vector


void function2(vector<vector<int>>& arr)

{

 // 操作数组元素

 arr[0][1] = 1;

}

int main()

{

 vector<vector<int>> arr = {1, 4};

 function2(arr); // 将arr的地址传递给function2

 return 0;

}

在这种情况下,使用STL容器vector来存储二维数组。函数function2接受一个引用类型的vector >,其中数组的大小由容器的大小决定。在函数内部,数组的元素同样可以被访问和修改。在main函数中,将arr变量的引用传递给了function2,因此数组在函数中被传递了。

总结

以上两种方式都可以用来传递二维数组,具体选择哪种方式取决于应用场景。如果需要快速、高效处理多维数组元素,使用传递指针的方式更为适合;如果需要更多的数组处理功能和更高的可读性,使用vector容器更为合适。

  
  

评论区

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