搜索

c++二维结构体动态数组

发布网友 发布时间:2022-04-20 06:26

我来回答

1个回答

热心网友 时间:2023-09-07 09:48

Gcell **gcell=new *Gcell[m];
这句应该是
Gcell **gcell=new Gcell*[m];

不过这个代码里的其他问题也很多,按照下面的修改可以编译通过
#include<iostream>
using namespace std;
struct Point
{
double xlabel,ylabel;
};
struct Gcell
{
int iNum;
Point cleftdown,crightup;
};
int main()
{
int m=2,n=2;
int j,i;
int gnum=10;
Point leftdown;
leftdown.xlabel =10;
leftdown.ylabel = 12;

Gcell **gcell=new Gcell*[m];
for(j=0;j<m;j++)
{
gcell[j] = new Gcell[n];
}
int width=1,height=2;
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
gcell[i][j].iNum=gnum;
gcell[i][j].cleftdown.xlabel=leftdown.xlabel+width*j;
gcell[i][j].cleftdown.ylabel=leftdown.ylabel+height*i;
gcell[i][j].crightup.xlabel=leftdown.xlabel+width*(j+1);
gcell[i][j].crightup.ylabel=leftdown.ylabel+height*(i+1);
}
}
return 0;
}追问请问在使用完gcell这个矩阵的时候 是不是需要加入
for (int i=0;i<m;i++)
{
delete[] gcell[i]; //先撤销指针元素所指向的数组
}
delete[] gcell;
这段程序来释放内存?

追答是的

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top