首页 > 编程语言 > 详细

二维数组的生成-new的使用

时间:2020-02-20 23:12:53      阅读:56      评论:0      收藏:0      [点我收藏+]

相关的思路来自于下面这个博客:https://blog.csdn.net/samuelcoulee/article/details/8674388

我们对于其中的一个方案进行了实现与测试——借助new和指针生成二维数组。

 1 int** set_Two_dimensional_array(int first_dimention,int second_dimention)
 2 {
 3     int** pointers = new int*[first_dimention];
 4     //如果是new (int*)[first_dimention]则是错误的
 5     for(int i=0;i<first_dimention;i++)
 6     {
 7         int* one_pointer = new int[second_dimention];
 8         pointers[i] = one_pointer;
 9         //创建的每一个一维数组的头地址添加进入指针组里
10     }
11     return pointers;
12     //上述的二维数组的各个维度之间并不是在内存中顺序排列的
13 }

下面是具体的应用:

#include<cstring>
#include<cstdio>
#include<iostream>
using namespace std;
int** set_Two_dimensional_array(int first_dimention,int second_dimention);
//省略具体函数

int main()
{
    int** aim=set_Two_dimensional_array(30,30);
    //这里的二维数组头指针必须是双重指针,之后的应用与平时使用时的格式相差无几
    for(int i=0;i<30;i++) for(int k=0;k<30;k++)
    {
        aim[i][k]=i*30+k;
    }
    for(int i=0;i<30;i++)
    {
        for(int k=0;k<30;k++)
        {
            printf("%d ",aim[i][k]);
        }
        printf("\n");
    }
    return 0;
}

OK(运行结果不再展示)

二维数组的生成-new的使用

原文:https://www.cnblogs.com/savennist/p/12337430.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!