C++建立动态二维数组主要有两种方法:

1.使用数组指针,分配一个指针数组,将其首地址保存在b中,然后再为指针数组的每个元素分配一个数组


           int **b=new int*[row];       //分配一个指针数组,将其首地址保存在b中                                                    
for(i=0;i<row;i++)             //为指针数组的每个元素分配一个数组
b[i]=new int[col];
          
该方法定义的动态二维数组的释放需先释放指针数组的每个元素指向的数组,然后再释放该指针数组:
for(i=0;i<row;i++)
           {
                 delete [col]b[i];
                 b[i]=NULL;
           }
           delete [row]b;
           b=NULL;
int _tmain(int argc, _TCHAR* argv[])
{int row,column;cin>>row>>column;//方法一//申请空间int ** a = new int *[row];for(int i = 0;i < row;i++)a[i] = new int[column];//使用空间for(int j = 0;j < row;j++)for(int k = 0;k< column;k++)a[j][k] = rand()%100;for(int j = 0;j < row;j++){cout<<endl;for(int k = 0;k< column;k++){a[j][k] = rand()%100;cout<<a[j][k]<<"     ";}}//释放空间for(int i = 0;i < row;i++){delete a[i];a[i] = NULL;}delete [row]a;a = NULL;    return 0;}

运行结果:

2.利用vector

int _tmain(int argc, _TCHAR* argv[])
{int row,column;cin>>row>>column;//方法二//申请空间vector<vector<int> > a(row,vector<int>(column));//使用空间for(int j = 0;j < row;j++)for(int k = 0;k< column;k++)a[j][k] = rand()%100;for(int j = 0;j < row;j++){cout<<endl;for(int k = 0;k< column;k++){a[j][k] = rand()%100;cout<<a[j][k]<<"     ";}}      return 0;}

运行结果为:

C++建立动态二维数组相关推荐

  1. C++动态二维数组演示的代码

    将代码过程中经常用到的代码珍藏起来,下边资料是关于C++动态二维数组演示的代码. #include <iostream> #include <string>using name ...

  2. 动态二维数组赋值及for循环遍历和toString遍历

    package com.Summer_0421.cn;import java.util.Arrays;/*** @author Summer* 动态二维数组赋值及for循环遍历和toString遍历* ...

  3. C语言实现动态二维数组及相乘

    一.二维数组的概念  1.二维数组本质上是以数组作为数组元素的数组,即数组的数组. 2.二维数组就是一个有行和列的矩阵,每一行代表一个数组,即数组的数组. 3.每一行数组内元素所在的位置可以用行和列号 ...

  4. C++之定义动态二维数组

    C++之定义动态二维数组 直接上代码 #include"stdio.h" #include<iostream> using namespace std; int mai ...

  5. java创建动态二维数组

    java创建动态二维数组 //声明Scanner对象,获取键盘输入值Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = s ...

  6. 二维动态数组空间分配 c语言,科学网—C语言中动态二维数组的使用和分配 - 王一哲的博文...

    好多年不用C语言了,最后一次使用还是读研的时候写矩量法的时候了,看见VS的界面总能想起当年读书的时候的各种错误,往事随风.本程序应人之约,首先得到一个随机的矩阵,之后通过将矩阵分解为几个小矩阵统计小矩 ...

  7. C++——C++创建动态二维数组+memset()函数初始化

    C++开辟动态二维数组的几种方法总结 原文链接:https://blog.csdn.net/xiang_shao344/article/details/99684395 一.用 new 来动态开辟一个 ...

  8. pb 创建动态二维数组

    pb中二维数组定义:array[10,10] 定义出来的二维数组是固定长度的:无法像一维数组一样动态长度:那PB中如何创建动态二维数组,请看接下来的内容. 1.先创建结构体structure 2.结构 ...

  9. C/C++动态二维数组的内存分配和释放

    C语言: 1 //二维数组动态数组分配和释放 2 //数组指针的内存分配和释放 3 //方法一 4 char (*a)[N];//指向数组的指针 5 a = (char (*)[N])malloc(s ...

最新文章

  1. 你真的会用Android的Dialog吗?由一个Exception想到的
  2. java结丹期(15)----javaweb(maven(1))
  3. 【Java中级篇】Dom4j解析xml数据
  4. 《深入浅出程序设计竞赛(基础篇)》第1部分 语言入门 第3章 分支结构程序设计
  5. 使用工具ngrok 实现内网穿透(免费)
  6. Spark源码分析之SparkContext
  7. MDaemon邮件服务器在WorldClient新增的聊天功能
  8. python菜鸟教程100例-对菜鸟教程的Python一百例的个别改进
  9. map转json,json转对象
  10. usg防火墙l2tp ipsec安全策略
  11. 获取用户输入到input的内容并传给后台拿数据
  12. Java开源 Web开发框架
  13. 初中计算机新课标培训心得,新课标培训心得体会五篇
  14. API采集接口源码电商采集工具接口
  15. 2g限制 outlook_OutLook超出2G大小限制的 PST 和 OST 的解决方法-邮件备份法
  16. 电子政务外网平台建设
  17. 奈奎斯特定律和香农定理
  18. Oracle:简单分析火车票余票查询和座位剩余
  19. 计算机网络管理课程,计算机网络管理课程教学探索
  20. 搭建hexo主题Butterfly部署github+个人服务器

热门文章

  1. 安装 Thonny 软件环境开发PI Pico
  2. 什么时候用redis_C++传参什么时候用引用, 什么时候用指针?
  3. kali 改root_Kali Linux 将默认以非 root 身份运行
  4. 中间件应用程序错误 修复方案_Qtum Neutron:新一代区块链虚拟机中间件会给Qtum带来哪些新功能?...
  5. shell 脚本 进行sqlite3初始化
  6. w7计算机无法管理员权限设置,操作权限不够?教你开启Win7管理员帐户
  7. mysql数据库隐式表_详解MySQL数据库常见的索引问题:无索引,隐式转换,附实例说明...
  8. python def main return,python中main()函数写法
  9. FPGA之道(50)复位的设计
  10. 【 Vivado 】XDC文件的约束顺序