二维数组的创建

方法一:使用数组指针用new开辟空间

<span style="font-size:18px;">#include<iostream>
using namespace std;

#define ROW 3
#define COL 4

void main()
{
	int(*p)[COL] = new int[ROW][COL];
	for(int i=0; i<ROW; ++i)
	{
		for(int j=0; j<COL; ++j)
		{
			p[i][j] = i+j;
		}
	}

	for(i=0; i<ROW; ++i)
	{
		for(int j=0; j<COL; ++j)
		{
			cout<<p[i][j]<<" ";
		}
		cout<<endl;
	}
	delete []p;
}</span>

方法二:用C语言的方法。例如以下图:

代码例如以下:

#include <iostream>
using namespace std;

#define ROW 3
#define COL 4

void main()
{
	int **p = (int **)malloc(sizeof(int*)*ROW);
	for(int i=0; i<ROW; ++i)
	{
		p[i] = (int *)malloc(sizeof(int) * COL);
	}

	for(i=0; i<ROW; ++i)
	{
		for(int j=0; j<COL; ++j)
		{
			p[i][j] = i+j;
		}
	}

	for(i=0; i<ROW; ++i)
	{
		for(int j=0; j<COL; ++j)
		{
			cout<<p[i][j]<<" ";
		}
		cout<<endl;
	}

	for(i=0; i<ROW; ++i)
	{
		free(p[i]);   //delete []p[i]
	}
	free(p);          //delete []p;

}

代码有不全面的地方希望大家可以指出~谢谢~

时间: 2024-10-01 03:38:45

二维数组的创建的相关文章

JS—二维数组的创建

//二维数组的创建 //方法一: var myarr = new Array(); //先声明一维 for ( var i = 0; i < 2; i++) { //一维长度为2 myarr[i] = new Array(); //再声明二维 for ( var j = 0; j < 3; j++) { //二维长度为3 myarr[i][j] = i + j; // 赋值,每个数组元素的值为i+j } } //方法二: var myarr1 = [ [ 0, 1, 2 ], [ 1, 2,

7、一维数组和二维数组耳朵创建,输出,Arrays.fill()替换

package com.xxx.xxx; import java.util.Arrays; public class demo8 { /** * 1.初始化一维数组 使用一维数组 * 2.初始化二维数组 使用二维数组 * 3.填充替换数组元素 * @param args */ public static void main(String[] args) { //1.第一种初始化方式 int arr[] = new int[]{1,2,3,4,5,6}; //一维数组 //1.1.第二种初始化方式

python二维数组的创建

话不多说,代码伺候 m = [[0]*5]*3 #创建一个3行5列的二维数组 m[1][2]=1 print(m) 输出结果为: 分析: m = [[0]*5]*3只是指向三个空列表的引用. 创建一个二维数组的正确方法是: m = [[0]*5 for i in range(3)]    #创建一个3行5列的二维数组 原文地址:https://www.cnblogs.com/xiaohaodeboke/p/11962090.html

vector动态二维数组(容器的容器)占用内存分析

之前在这里写过一篇"C++中的动态二维数组".在C++中没有动态二维(多维)数组.但是根据原理我们可以自己创建. 在看过STL的vector源代码后"<STL源码剖析>---stl_vector.h阅读笔记"后,想到可以用容器的容器来做二维数组. 创建一个2x4的二维数组.想到的办法是:先创建一个容器的容器,外层大小的2(2行),然后里面容器小大为4(4列). int row=2,col=4; vector<vector<int> &g

java基础中的一维数组和二维数组

1.数组:具有相同数据类型的一组数据的集合. 一维数组 2.创建一维数组 a.数组作为对象允许使用new关键字进行内存分配,使用数组之前,必须首先定义数组变量所属类型,即声明数组.  声明数组: 语法:数组元素类型   数组名字[]; 数组元素类型[]  数组名字: 注释:数组元素类型:决定了数组的数据类型,包括基本数据类型和费基本数据类型. 数组名字:为一个合法的标识符,自己去定义 []:指明该变量是一个数组类型变量,单个"[]"表示要创建的是一维数组. 例如:int arr[];

第三十二课 二维数组及其定义 【项目1-2】

第三十二课  二维数组及其定义 项目一 [折腾二维数组] 创建一个5行4列的二维整型数组,通过初始化,为数组中的前两列的10个元素赋初值,然后: 通过键盘输入,使后两列的10个元素获得值: 按行序优先输出数组元素: 将所有元素值乘以3后保存在数组中: 按列序优先输出(输出的第一行是数组中的第一列--,其实输出的就是"转置"): 将数组"倒"着输出(即最后一行最后一列的最先输出,第0行第0列的最后输出): 输出数组中的所有偶数: 输出所有行列下标之和为3的倍数的元素值

C语言 动态创建二维数组

/*C语言 如何动态创建二维数组 转化为一维数组申请数组,创建和释放都比较简单 */ #include <stdlib.h> #include <stdio.h> #include <malloc.h> #define RANK 10 #define COLUMN 7 int main() { int i,j; int (*p)[COLUMN]; //动态生成二维数组,指定列数为COLUMN,如果想改,自己该里面 //的参数,如果想定义n行2列就为: p=(int (*

动态创建二维数组

vector创建二维数组 初始化二维数组 vector<vector <int> > ivec(n ,vector<int>(m)); //n*m的二维vector vector<vector <int> > ivec(n , vector<int>(m, 0)); //n*m的二维vector,所有元素为0 动态创建m*n的二维 方法一: vector<vector <int> > ivec; ivec.re

【C语言】动态创建二维数组

//动态创建二维数组 #include <stdio.h> #include <stdlib.h> #include <malloc.h> int main() { int i,j; int n,m; //以n行5列为例 int (*p)[5]; printf("请输入行数:"); scanf("%d",&n); p=(int(*)[5])malloc(5*n*sizeof(int)); for(i=0;i<n;i+