gpt4 book ai didi

c++ - 两种创建二维数组的方法之间的区别

转载 作者:太空狗 更新时间:2023-10-29 20:46:40 25 4
gpt4 key购买 nike

两个数组定义有什么区别?他们在内存中实现的不同吗?

 int var = 5;
int (*p4)[2] = new int [var][2]; // first 2d array

int** p5 = new int*[var]; // second 2d array
for(int i = 0; i < var; ++i){
p5[i] = new int[2];
}

最佳答案

是的,它们非常不同。第一个实际上是单个数组;第二个实际上是 var+1 数组,可能散布在您的 RAM 中。 var 数组保存数据,一个保存指向 var 数据数组的指针。

关于c++ - 两种创建二维数组的方法之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7611468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com