程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 多維動態數組

多維動態數組

編輯:C++入門知識

《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; 


 
 


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved