多维动态数组

《C++  Primer》中说:在C++中没有多维数组,只有元素师数组的数组。

如:要想创建一个二维整数数组,首先要创建一个一维动态数组,它由int *类型的指针构成。int*就是这个一维int指针数组的类型。

 

下面举例说明

// 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;
}


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值