C++中动态分配二维数组的方法(zz)

转载 2007年10月11日 10:00:00
C++中动态分配二维数组的方法(zz)
#include <cstdlib>
#include 
<iostream>
#include 
<cstring>

using namespace std;

int main(int argc, char *argv[])
...{
    
int N;
    
while(cin>>N)
    
...{
    
//    方案一
        int array[N][N];    //    你用的是vc6吧,它不支持动态数组!
        memset(array, 0sizeof(array));
    
//    方案二
        int (*array)[N] = (int(*)[N])new int[N*N];        //动态分配二维数组
        memset(array, 0sizeof(int)*N*N);

    
//    方案三
        int **array = new int*[N];
        
for (int i=0;i<N;i++...{    //    vc6也不支持重复定义循环变量i!
                                
//    后面再出现同样的循环变量i,就会出错!
            array[i] = new int[N];
            memset(array[i], 
0sizeof(int)*N);
        }


        
int n=1;
        
for(int m=0;m<N;m++)
            
for(int i=m,j=0;i>=0&&j<=m;i--,j++)
                array[i][j]
=n++;
        
for(int i=0;i<N;i++)
        
...{
            
for(int j=0;j<N;j++)
                
if(array[i][j]==0)
                    
break;
                
else
                    cout
<<array[i][j]<<" ";
        }

        
//释放部分你就自己写了... 
    }
 
    system(
"PAUSE");
    
return EXIT_SUCCESS;
}
 

C++动态内存分配

C++中将堆称为空闲存储器。 为了实现动态的内存分配,会用到最重要的两个操作符:new 和 delete 例1:为了给一个int类型的变量分配内存,先声明一个int类型的指针然后再使用new操作符...
  • Mr_Stack
  • Mr_Stack
  • 2016年01月24日 10:28
  • 261

C++如何实现类对象只能动态分配或只能静态分配

C++如何实现类对象只能动态分配或只能静态分配 C++中建立类的对象有两种方式: (1)静态建立,例如 A a;      静态建立一个类对象,就是由编译器为对象在栈空间中分配内存。使用这种方法,...
  • YF_Li123
  • YF_Li123
  • 2017年07月11日 09:11
  • 576

C++动态分配数组

《C++教程》郑莉、李宁,人民邮电出版社,2010年第一版
  • code_xbug
  • code_xbug
  • 2014年11月09日 10:04
  • 5080

c++类和动态内存分配

动态内存和类 特殊成员函数 1默认构造函数,如果你没有定义构造函数 2默认的析构函数,如果你没有定义析构函数 3复制构造函数,如果你没有定义 4赋值运算符,如果你没有定义 5地址运算符,如果你妹你没有...
  • god_wen
  • god_wen
  • 2016年09月30日 21:19
  • 498

C/C++动态分配与释放内存的区别详细解析

转自http://www.jb51.net/article/41723.htm 1. malloc()函数 1.1 malloc的全称是memory allocation,中文叫动态内存分配。 ...
  • a573233077
  • a573233077
  • 2016年01月14日 16:59
  • 3427

必须要注意的 C++ 动态内存资源管理(六)——vector的简单实现

十六.myVector分析         我们知道,vector类将其元素存放在连续的内存中。为了获得可接受的性能,vetor预先分配足够大的内存来保存可能需要的更多元素。vector的每个添加元...
  • y1196645376
  • y1196645376
  • 2016年11月04日 14:30
  • 862

c++学习笔记(5)——关于三种内存分配方法

1、第一种:自动分配内存,常与局域变量联系在一起,一个局域变量值在程序执行到该变量定义的时候才会由系统自动分配内存给它,当包含该变量的定义的模块结束的时候,该变量占用的内存自动释放。需要注意的是:当一...
  • leonhe27
  • leonhe27
  • 2016年05月21日 09:49
  • 360

c++动态分配二维/三维数组的内存

转自http://blog.csdn.net/boylinux/article/details/7783871 本文主要目的是用c和c++分别实现动态分配二、三维数组。一般而言,在C中用malloc...
  • a573233077
  • a573233077
  • 2016年01月13日 16:17
  • 1006

C++动态分配内存new delete

动态内存分配 1.堆内存分配 : C/C++定义了4个内存区间:代码区,全局变量与静态变量区,局部变量区即栈区,动态存储区,即堆(heap)区或自由存储区(free store)。 堆的概念...
  • lanmolei814
  • lanmolei814
  • 2014年08月27日 22:32
  • 1011

C++中如何动态分配二维数组

一直对二维数组 动态分配问题比较模糊,今天来终结一下。 我们一般使用二维数组可以直接定义如下: #include using namespace std; int main() { int ...
  • c12345423
  • c12345423
  • 2016年11月06日 20:42
  • 582
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++中动态分配二维数组的方法(zz)
举报原因:
原因补充:

(最多只允许输入30个字)