易做图动态数组
《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;
}
补充:软件开发 , C++ ,