加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 在连续内存块中动态创建二维数组

发布时间:2020-12-16 05:28:27 所属栏目:百科 来源:网络整理
导读:我试图在连续的内存块中创建2D数组,但是它给出了M个连续块,每个都是N个大小. int **arr = new int*[M];for (int i = 0 ; i M ; i++ ){ arr[i] = new int[N];} 如何在连续内存块中创建2D数组? 解决方法 int *buffer=new int[M*N];int **arr=new int*[M];for(
我试图在连续的内存块中创建2D数组,但是它给出了M个连续块,每个都是N个大小.
int **arr = new int*[M];
for (int i = 0 ; i < M ; i++ )
{
     arr[i] = new int[N];
}

如何在连续内存块中创建2D数组?

解决方法

int *buffer=new int[M*N];
int **arr=new int*[M];
for(int i=0;i<M;++i)
    arr[i]=buffer+i*N;

实际上没有必要存储arr指针 – 可以在需要时计算它们.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读