栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C/C++中函数传输二维数组

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C/C++中函数传输二维数组

在C/C++中,对于单个数或者对于一维数组的处理相对来说比较简单,但是对于二位数组或者多为数组就会比较困难。这里我们将介绍两种传递数组数据的两种方法,读者如有更好的方法,欢迎评论区讨论。

1.对于不喜欢指针的读者,我们可选择C/C++自带的vector容器进行操作。但是我们需要在头文件中包含vector包,即

#include < vector>
using namespace std
vector的用法如下(详见C++ vector 容器浅析):
  1. Vector<类型>标识符
  2. Vector<类型>标识符(最大容量)
  3. Vector<类型>标识符(最大容量,初始所有值)
  4. Int i[5]={1,2,3,4,5}
    Vector<类型>vi(I,i+2);//得到i索引值为3以后的值
  5. Vector< vector< int> >v; 二维向量//这里最外的<>要有空格。否则在比较旧的编译器下无法通过
#include 
#include 
#include 
using namespace std;
 
int main()
{
    vectorobj;//创建一个向量存储容器 int
    for(int i=0;i<10;i++) // push_back(elem)在数组最后添加数据 
    {
        obj.push_back(i);
        cout< 

对于二维数组:

#include 
#include 
#include 
#include 
using namespace std;
 
 
int main()
{
//方法一
    int N=5, M=6; 
    vector > obj(N, vector(M)); //定义二维动态数组5行6列 
 
    for(int i=0; i< obj.size(); i++)//输出二维动态数组 
    {
        for(int j=0;j > obj2(N); //定义二维动态数组大小5行 
    for(int i =0; i< obj.size(); i++)//动态二维数组为5行6列,值全为0 
    { 
        obj2[i].resize(M); 
    } 
 
    for(int i=0; i< obj2.size(); i++)//输出二维动态数组 
    {
        for(int j=0;j 

 通常我们会用到函数传参:

#include
#include
#include
#include
#include
using namespace std;


vector > testvector()
{
    int N=4;
    int M=5;
    vector > obj(N, vector(M)); 
    for(int i=0; i< obj.size(); i++)//输出二维动态数组 
    {
        for(int j=0;j > obj(N, vector(M)); 
    obj=testvector();
    for(int i=0; i< obj.size(); i++)//输出二维动态数组 
    {
        for(int j=0;j 

2.对于习惯用指针的读者,我们就不多说了,指针的好处有很多,传值方便,万能的指针。

#include
#include
#include
#include
#include
using namespace std;


int** test()
{
    int rowsNum = 4;
    int colsNum = 5;
	// 定义二维数组
	int** a = new int*[rowsNum];
	for(int i = 0; i < rowsNum; i++)
	{
		a[i] = new int[colsNum];
	}
    for(int i=0;i 

或者不传出数据,直接用指针代替传入赋值:

#include
#include
#include
#include
#include
using namespace std;

int testcp(int *Q,int N)
{
    int a[N]={9};
    for(int i=0;i 

本文参考了以下文献:

C++(笔记)浅析vector容器的实例_浅然的专栏-CSDN博客

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/348072.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号