gpt4 book ai didi

c++ - 我如何为二维数组分配内存?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:58:28 25 4
gpt4 key购买 nike

如何使用“new”运算符声明一个二维数组?我的书是这样说的:

int (*p)[4];
p=new[3][4];

但这对我来说没有意义。 p 是一个指向 4 个整数数组的指针,那么如何让它指向一个二维数组呢?

最佳答案

看来您需要指向指针的指针。编辑:嗯,更准确地说,下面的例子创建了一个指向数组的指针数组

先做:

int **p = new int*[NUM];

在这里您已经创建了指针数组。现在您需要为它们中的每一个创建另一个数组。你可以这样做:

for(int i = 0; i < NUM; i++)
{
p[i] = new int[ANOTHER_NUM];
}

对于释放你做类似的,但以相反的方式:

for(int i = 0; i < NUM; i++)
{
delete[] p[i];
}

最后:

delete[] p;

现在您可以使用它了。这样你就可以创建N维数组,只需添加更多'*'。如果您有任何其他特定问题,请在评论中提问。

但是,一般来说,要获得更多信息,我建议您首先尝试使用 Google 搜索“C++ 中的二维数组”或“C++ 二维数组的动态分配”等问题,即。 e. this query .

关于c++ - 我如何为二维数组分配内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10062655/

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