一维&&二维&&三维数组的建立



一维数组
                                                                                                                                                                                                                                                                            
***********指针类型*************

	//-----------new----------------
	int*p = new int[arraySize];


	//-----------delete----------------
	//new开辟后需要释放空间
	delete []p;   //删除数组空间
	delete p;    //错误,只删除了第一个元素



	***********vector类型*************
	vector<string> v1;         // 创建空容器,其对象类型为string类
	vector<string> v2(10);     // 创建有10个具有初始值(即空串)的string类对象的容器
	vector<string> v3(5, "hello"); // 创建有5个值为“hello”的string类对象的容器
	vector<string> v4(v3.begin(), v3.end());  // v4是与v3相同的容器(完全复制)

	//int类型
	vector<int> p; //创建空容器
	vector<int> p(arraySize);
	vector<int> p(arraySize, 0);


	 ***********直接类型*************
	int p[arraySize];

二维数组

	***********指针类型*************

	//-----------new----------------
	int **p;  //定义指向int指针的指针
	p = new int*[arraySize];  //申请arraySize个指针,并使p指向它
	for(int i = 0; i < arraySize; ++i)
		p[i] = new int[arraySize]; //分别使N个指针指向N个int的对象

	//上述new的工作等同于
	int (*p)[arraySize] = new int[arraySize][arraySize]; //定义一个指向有arraySize个元素的行指针p

	//-----------delete----------------
	//用new在堆上开辟的空间,必须要用delete释放,否则会有内存泄露
    for (int i = 0; i < arraySize; i++)
    {
        delete []p[i]; //删除数组元素,但是申请的arraySize个行指针还没有删除
        p[i] = NULL;
    }
    delete []p; //删除行指针
    p = NULL;


	************直接类型*************
	int p[arraySize][arraySize];                                                                                                    vector<vector<int> > array(arrzySize, vector<int>(arraySize, 0));

三维数组

***********指针类型*************

	//-----------new----------------
	int ***p;
	p = new int **[K];
	for(int i = 0; i < K; ++i)
	{
		p[i] = new int *[M];
		for(int j = 0; j < M; ++j)
		{
			p[i][j] = new int[N];
		}
	
	}

   //-----------delete----------------
	for(int i = 0; i < K; ++i)
	{
		for(int j = 0; j < M; ++j)
			delete []p[i][j];
		delete []p[i];
	}

	delete []p;



    ***********vector类型*************

	vector<vector<vector<int> > > p(m, vector<vector<int> >(K, vector<int>(M)));


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值