作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
如何使用“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/
我是一名优秀的程序员,十分优秀!