• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 怎样定义动态二维数组呀???在线等,马上给分)

怎样定义动态二维数组呀???在线等,马上给分)

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了vb定义动态数组,如何定义动态数组,怎么定义动态数组,vba 定义动态数组,动态数组定义等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 怎样定义动态二维数组呀???在线等,马上给分)
描述:

M,N从用户那得到:
我想定义一个aa[M][N]的动态二维数组,
下面这样定义却不行,哪位大哥说说看:
long  **aa;
for(j=0;j<M;j++)
aa[j] = (long *)malloc(N*sizeof(long));
要怎样定义呀???


解决方案1:

long  **aa;aa = (long **)malloc(M * N * sizeof(long));
这种方法可以,
但用后一定要记得free(aa),

解决方案2:

那也好办啊,举个例子:
//DynamicArray.cpp 动态二维数组
#include <iostream>
using namespace std;
int main()
{
  int ** x;
  int i,j,rows(2),cols(3);
  try {
    //创建
    x = new int * [rows];
    for (int i = 0 ; i < rows; i++) x[i] = new int [cols];
    //初始化
    for( i=0; i<2; i++)
  {
  for( j=0; j<3; j++)
  {
    x[i][j] = i + j;
  cout << x[i][j] << " ";
  }
    cout << endl;
  }
    //释放
    for(int i=0; i<rows; i++) delete [ ] x[i];
    delete [ ] x;
    x = 0;
  }
  catch (xalloc) {
    cout << "create dynamic array caused error." << endl;
  }
}
/*
运行结果:
0 1 2
1 2 3
*/

解决方案3:


//创建--------------------------------
template<class T>
void Make2DArray(T ** &x, int rows, int cols)
{
  x = new T * [rows];
  for( int i=0; i<rows; i++) x[i]=new int[cols];
}
try
{
  Make2DArray(x, r, c);
}
catch(xalloc)
{
  cerr << "Create x caused error." << endl;
  exit(1);
}
//删除-------------------------
template<class T>
void Delete2DArray(T** &x, int rows)
{
  for(int i=0; i<rows; i++) delete [ ] x[i];
  delete [ ] x;
  x = 0;
}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 怎样定义动态二维数组呀???在线等,马上给分)

相关文章

  • 2017-06-05 如何得到系统正在运行的进程
  • 2017-06-04 在win98上提供DCOM服务,需要装什么软件?
  • 2017-06-05 在VC中的写了个dll,返回一个字符串CString类型,C#中如何使用?
  • 2017-06-04 VC建立工程时用ATL做成的DLL有什么,为什么叫做COM?实在不明白它有什么。
  • 2017-06-05 开了18个线程,每个线程内都有死循环,程序运行明显变慢?
  • 2017-06-05 几个关于dll头文件的问题!!!
  • 2017-06-05 创建OCX控件失败,请各位大侠帮帮忙了!
  • 2017-06-05 使用WriteFileGetLastError的返回值是5,如何提升权限?谢谢
  • 2017-06-04 VS2005,每次都要全部重新编译。
  • 2017-06-05 问个菜一点的问题(懂delphi的大侠请!)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ACtivex控件暴露属性与方法,不明白错在那了。请大家江湖救急!!
    • 请教一下大家如何调试dll的?
    • 以下DLL两种前缀方式,为什么结果不一样
    • 组件的重用方法有2个,聚合和包容,能否简单解释一下这两个的区别?
    • 急,请高手指点一下,在线程中调用COM中的方法,在线等待?
    • 关于多线程传参数问题
    • 在windows下有没有什么方法能够得到一个进程的线程树,要树的形式,有父子关系的。
    • 已知一个IUnknown接口指针,怎样调用它的方法?高手请进。
    • MFCActiveX控件注册失败问题!求解答!
    • 用按钮控制线程的启动与暂停

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有