问题是这样的: 创建了一个结构体数组:
struct ExpRe
{
CString OldName[10];//被替换的挂件名称
int OldNum; //被替换的挂件数量
CString NewName[10];//替换成的挂件名称
int NewCount[10];//保存替换成的挂件的数量
int ComId[10];//挂件编号
int NewNum; //有多少个新挂件
}; struct ExpRe re[1000];
现在要改成动态创建这个结构体数组,应该怎么创建呢?
struct ExpRe
{
CString OldName[10];//被替换的挂件名称
int OldNum; //被替换的挂件数量
CString NewName[10];//替换成的挂件名称
int NewCount[10];//保存替换成的挂件的数量
int ComId[10];//挂件编号
int NewNum; //有多少个新挂件
}; struct ExpRe re[1000];
现在要改成动态创建这个结构体数组,应该怎么创建呢?
解决方案 »
- Directshow新手问题
- 【每月都散分】 留下300分备用提问,其余全贡献出来 5
- 问题比较难!文件操作问题
- 用C#,怎样从传感器中接收数据,放入数据库中,再调用
- 救命!!!眼看硬盘又要牺牲了!!!!!?????
- 在 vc++中的全局变量的定义
- 得不到CComboBox里的内容??????急!
- 不知道哪位高手知道在PING 得时候能不能得到reply 中得准确时间
- 如何把副线程中的某个数据传入主线程
- 请问如何用程序设置拨号网络服务器?
- chm帮助文档无法正常弹出
- 迷失在MFC的类型转换中:cannot convert parameter 1 from 'LPTSTR *__w64 ' to 'LPTSTR **'
{
CString OldName[10];//被替换的挂件名称
int OldNum; //被替换的挂件数量
CString NewName[10];//替换成的挂件名称
int NewCount[10];//保存替换成的挂件的数量
int ComId[10];//挂件编号
int NewNum; //有多少个新挂件
}*PExpRe, ExpRe; 要动态创建的话,只需要在你需要创建的时候申请一下就可以了:ExpRe *pRe = (ExpRe*)malloc(sizeof(ExpRe) * n); //n表示你要创建多少个
//ExpRe结构体.对了,记得要在不用的时候把申请的pRe释放掉
ExpRe * pre;
pre=new ExpRe[1000];如果是非固定大小的话,可以使用标准库
//引入头文件的名称空间
#include<vector>
using namespace std;//使用的方法:
vector<ExpRe*> m_Re;
ExpRe* node;
node=new ExpRe;
m_Re.push_back(node);//要引用的时候可以和数组一样的访问
m_Re[12].OldNum=100;//但是要记住释放内存
typedef vector<ExpRe*>::iterator VI;
vi i;
for(i=m_Re.begin();i!=m_Re.end();++i)
{
delete (*i);
}
m_Re.clear();