频道栏目
首页 > 程序开发 > 软件开发 > C++ > 正文
多维动态数组
2012-10-29 09:24:05      个评论      
收藏   我要投稿

《C++  Primer》中说:在C++中没有多维数组,只有元素师数组的数组。
如:要想创建一个二维整数数组,首先要创建一个一维动态数组,它由int *类型的指针构成。int*就是这个一维int指针数组的类型。
 
下面举例说明
[cpp] 
// String.cpp : Defines the entry point for the console application. 
// 
 
#include "stdafx.h" 
#include<iostream> 
 
typedef int* IntArrayPtr;  ///(1) 
 
void fill_array(int a[] , int size); 
void sort(int a[] , int size); 
 
int main(int argc, char* argv[]) 

    using namespace std; 
    int row , col ; 
    cout<<"Enter the row and column dimensions of the array:\n"; 
    cin>>row>>col; 
 
    IntArrayPtr *m;///(2) 
    int i ,j ; 
    m = new IntArrayPtr[row]; 
 
    //申请内存 
    for(i = 0 ;i < row ;i++) 
        m[i] = new int[col]; ///m现在成为一个row * col 的数组 
 
    cout<<"Enter "<<row <<" rows of " 
        <<col<<" integers each:\n"; 
     
    ///赋值 
    for(i = 0 ; i < row ; i++) 
        for( j = 0; j < col ; j++) 
            cin>>m[i][j]; 
 
    ///打印二维动态数组 
    cout<<"Echoing the 2 dimesional array:\n"; 
    for(i = 0; i < row ;i++) 
    { 
        for( j = 0; j < col ; j++) 
            cout<<m[i][j]<<" "; 
        cout<<endl; 
    } 
 
    ///释放内存 
    for( i = 0 ;i < row ; i++) 
        delete [] m[i]; 
    delete [] m; 
    return 0; 


 
 


点击复制链接 与好友分享!回本站首页
相关TAG标签 多维 数组 动态
上一篇:连续背包 (背包套背包)
下一篇:串的堆式存储结构
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站