【转】C++动态创建二维数组,二维数组指针

原作者博客:蒋国宝的IT技术博客

今天完成一道题目需要自己用指针创建一个二维的数组,不得不承认指针的确是恶心。

    int **result;
    int row = 4;
    int col = 5;
    result = new int*[row];
    for (int i=0; i<row; i++)
    {
        result[i] = new int[col];
    }  

    for (int i=0; i<row; i++)
    {
        for (int j=0; j<col; j++)
        {
            result[i][j] = 4;   // 赋值
        }
    }  

    // 下面是释放空间  

    for (int i=0; i<row; i++)
    {
        delete[] result[i];
    }
    delete[] result;  
时间: 2024-12-26 04:41:31

【转】C++动态创建二维数组,二维数组指针的相关文章

动态创建二维vector数组+指针与引用的区别

二维vectorvector<vector <int> > ivec(m ,vector<int>(n));    //m*n的二维vector 动态创建m*n的二维vector方法一:vector<vector <int> > ivec;ivec.resize(m);for(int i=0;i<m;i++) ivec[i].resize(n); 方法二:vector<vector <int> > ivec;ivec

动态创建二维数组

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

指针与变量(或数组)的动态创建与释放

1.变量内存的动态分配(创建)与释放:通过指针,动态间接赋值.取值 指针变量名=new 数据类型(初始值); 初始值可省略,后边再赋值. delete 指针变量名: #include<iostream> using namespace std; int main() { //int *p = new int; *p = 5; int *p = new int(5);//new运算符,动态创建一个int型变量(无变量名),值为5. cout << *p;//输出所指地址的值 dele

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 (*

【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+

c++ 动态创建二维数组

为了做一个东西需要用到动态创建二维数组,特此记录. #include <iostream> #include "time.h" using namespace std; int main() { srand((unsigned)time(NULL)); int x_num; int y_num; cout<<"please input x_num:"; cin>>x_num; cout<<"please in

&lt;细节&gt;动态创建二维数组

今天在做一个关于数组相似度的题目,需要动态创建二维数组,刚开始想用常规的int a[ ][ ]建立,但很快就发现行不通,这种常规数组必须在编译前指定数组的维数,而这个题目在的维数必须在运行中计算得出,于是想到采用new来建立动态二维数组,这个方法行得通,但是很麻烦,也不太利于理解,后面决定采用vector< vector< int > >方法来创建,简单了不少,下面对两种方法都进行一下总结. 1.使用vector创建二维数组 #include <iostream> #i

动态创建二维素组

有时候在创建数组之前,不知道具体几行或列(比如说,我们将数据库中的数据取出,知道列数,而行数是不确定的),这是我们需要动态创建数组: 两种方法:1.转化为一维数组申请2.先申请全部行首指针,再按行逐行申请 1.a=(int *)malloc(sizeof(int),(unsigned)m*n);使用的时候就和一般的二维数组一样.举个例子给你:#include "stdlib.h" #include "stdio.h" #include int main() {  i

JAVASE(八) 数组: 一维数组、二维数组、动态数组、静态数组

1.一维数组 1.1 数组的声明和初始化声明方式: String str[]; //不建议使用 String[] str2; 静态初始化:初始化和赋值同时进行 String[] str = new String[]{“aa”,”bb”} String[] str2 = {“aa”,”bb”} //声明和初始化不可以分开 动态初始化:初始化和赋值分开进行 String[] str = new String[5];//5代表是数组的长度 说明: 无论是静态初始化还是动态初始化,数组一旦创建成功,数组