方法1、C++使用vector方便生成: 
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
int main()
{ int i, j, m, //行数 n; //列数 cout << "input value for m,n:"; cin>>m>>n; //注意下面这一行:vector<int后两个">"之间要有空格!否则会被认为是重载">>"。 vector<vector<int> > vecInt(m, vector<int>(n)); for (i = 0; i < m; i++) for (j = 0; j < n; j++) vecInt[i][j] = i*j; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) cout<<setw(5)<<vecInt[i][j]<<":"<<setw(9)<<&vecInt[i][j]; cout<<endl; } return 0;
}
方法2:用vector可以,用裸指针也可以创建,只不过要小心使用,因为很容易造成内存泄露:
int main(){//类型定义,将int*指针定义成Rowtypedef int* Row;int row, col;cin >> row >> col;Row* rows = new Row[row];for(int i = 0; i < row; ++i){//有小(),直接将各项初始化为0//rows[i] = new int[col]();rows[i] = new int[col];}for(int i = 0; i < row; ++i){delete [] rows[i];}delete [] rows;}
3、C++动态申请多维数组
在C++中为数组动态分配内存的格式如下:第一步:声明type (p)[常量1][常量2]...[常量n];
第二步:申请p=new type[x][常量1][常量2]...[常量n];
说明:先定义一个n维的数组指针,其中p是一个指针变量,x是一个整形变量,然后申请一个第一维为x的n+1维数组,记住只有第一维x可变。
举例:1、动态申请一个一维数组int *p;int x;cin>>x;p=new int[x];   2、动态申请一个二维整型数组int (*p)[10];int x;cin>>x;p=new int[x][10];若执行这段程序,给x输入3,则相当于定义一个3行10列的一个二维数组。实际是申请3102个存储单元,并把其首地址返回给p,通过p来操纵这个动态数组。3、动态申请一个三维数组int (*p)[8][6];int x;cin>>x;p=new int[x][8][6];注意:1、申请成功与否,看p的值,若p的值为NULL,则说明申请不成功,反之,则申请成功。2、动态申请的存储单元,使用之后应及时返还给系统,方法是:delete p;即可。(new 和 delete 、 new[] 和 delete[] 对应使用)

C++ 动态申请数组相关推荐

  1. C语言如何使用malloc动态申请数组

    前言 写这篇文章是因为在做C语言题目时,发现有时需要设立动态数组才能较好的解决问题,而我所用的vs2019却不支持直接设立,就比如 int n: int a[n]; 这是不被允许的,而且也会出现许多问 ...

  2. 算法:动态申请数组(new)后将数组所有元素置零(初始化数组)的方法(炒鸡简单)(C++语言)

    int *arr = new int [n]();//最后的括号,全置零.for(int i = 0;i<n;i++){cout<<arr[i]<<" &quo ...

  3. C++二维数组动态申请内存

    好久没用C++刷题了,今天早上刷了几条题,感觉很陌生了.怪我,大二下实在太颓废了,没啥作为. 今天更新个关于c++二维数组内存申请的问题,当初作为菜鸟初学指针的时候,还是在这方面有点搞不通的.今天用到 ...

  4. C语言动态二维数组,结构体动态申请内存空间

    在C语言中,申请一般数组时,数组大小必须是常量.即使是赋了特定值的变量,也不行,比如:int n=3;int a[3];这样的做法是错误的,我们需要动态申请数组内存,如下申请一个动态整数(int)二维 ...

  5. C/C++动态开辟数组【C++:new/delete(推荐):int *arr = new int[m];】【C++:vector】【C:malloc() free()】

    一.C++的new/delete(推荐) 1.动态开辟一维数组 #include<iostream> #include<stdio.h>using namespace std; ...

  6. 编写一个C程序,实现以下功能:动态申请长度为5的整数空间数组,用户输入5个整数;动态扩展数组空间为8,用户另外输入3个整数,最后输出扩展后的全部数组元素。

    DGUT最简单的题.没有之一,只要面向GOOGLE和百度编程就行. 在GOOGLE查询malloc和realloc. malloc:动态申请内存. realloc:动态更改(扩展)内存 代码如下 #d ...

  7. 【C】动态申请二维数组

    int ** Get2Array(int n, int m) {if (n < 0 || m < 0)return NULL;int **s = (int **)malloc(sizeof ...

  8. 用malloc动态申请一个二维数组的三种方法

    方法一:利用二级指针申请一个二维数组. #include<stdio.h> #include<stdlib.h> int main() { int **a; //用二级指针动态 ...

  9. 动态申请二维数组空间及释放

    1.动态申请二维数组的空间 int num = 3;int** array = new int*[num];for(int i=0; i<num; ++i) {array[i] = new in ...

最新文章

  1. 转载 C++实现的委托机制
  2. SqlServer-COMPUTE BY
  3. 小明一家过桥_【练习】用python解决小明一家过桥问题
  4. oracle修改filesystem,oracle数据库 boost::filesystem使用例子
  5. 淘宝开源代码质量检测工具!(附源码)
  6. 2019年技术盘点容器篇(三):阿里专家谈容器:既叫好又叫座? | 程序员硬核评测...
  7. matlab时域频域信号特征提取资料整合
  8. php解析识别二维码内容
  9. 数据处理可视化的最有价值的 50 张图 (上)
  10. python 爬取直播弹幕视频_Python获取B站直播间弹幕信息
  11. python复制上一行到下一行_eclipse复制当前行到下一行-eclipse复制-eclipse复制一行快捷键...
  12. 最新windows7旗舰版密钥
  13. word转PDF图片失真
  14. snipeit 安装、备份文件恢复
  15. java鬼吹灯搬山法杖_鬼吹灯昆仑迷宫技能搭配之搬山篇攻略心得
  16. Apache HBase
  17. java编译器:必须对其进行捕获或声明以便抛出
  18. 恶意进程(云查杀)-DDOS木马
  19. Koomail是什么
  20. 王艳 201771010127《面向对象程序设计(Java)》第四周学习总结

热门文章

  1. 这是我的第一个博客,以后遇到问题一起解决
  2. 【转】揭开Linux的Swap之谜
  3. Python md5 sha1 的使用
  4. centos上安装updatedb,command not found
  5. matlab小游戏源代码下载,3个游戏代码和164个教学源码 - 源码下载|Windows编程|源代码 - 源码中国...
  6. soapui返回值类型都有哪些_滚珠丝杠的常用类型都有哪些?
  7. 安装mysql需要配置什么软件_软件配置篇-MySQL下载及安装
  8. 实现一个基于Vue的Button小组件
  9. 聊一聊你了解的程序猿是什么样的?
  10. 学UI设计就业难吗?