typedef struct _FC_Card
{
FC_FlowManage *G_HASHTABLE_FLOW[1000];     
         FC_FlowManage EmptyFlowObj[2000];         FC_Statistic  m_statistic[1024];                            
         FC_FlowManage   *G_IPHASHTABLE_FLOW[3000];            
         FC_FlowManage *G_SERVERHASHTABLE_FLOW[4000];     
}FC_Card,*pFC_Card;
以上结构在初始化时:
pFC_Card p=new FC_Card;
现在要指定空间大小(里面的数组大小要根据给定的大小动态创建),请问该结构如何定义,如何初始化???

解决方案 »

  1.   

    sizeof FC_Card得到结构体对象的大小不知道搂住是不是这个意思
      

  2.   

    这么复杂的结构还是用类来做吧,当然你非要用struct来定义也可以,写个构造函数,在里面指定各域的大小吧。
      

  3.   

    结构体的成员都用指针,
    构建结构体的时候 用malloc申请空间
    malloc的返回值都赋给指针:)
    这样OK?
      

  4.   

    这么复杂的结构还是用类来做吧,当然你非要用struct来定义也可以,写个构造函数,在里面指定各域的大小吧。......
    可以定义构造函数吗?如何定义
      

  5.   

    c++的话,用类吧.
    class _FC_Card
    {
    ....
    _FC_Card()//构造函数
    };
      

  6.   

    用指针的指针来定义结构体,注意最后释放。
    typedef struct _FC_Card
    {
    FC_FlowManage **G_ppHASHTABLE_FLOW;     
             FC_FlowManage *EmptyFlowObj;         FC_Statistic*  m_pStatistic;                            
             FC_FlowManage   **G_ppIPHASHTABLE_FLOW;            
             FC_FlowManage **G_ppSERVERHASHTABLE_FLOW;     
    }FC_Card,*pFC_Card;
    pFC_Card p=new FC_Card;
    int nHas = 1000;
    p->G_ppHASHTABLE_FLOW = new FC_FlowManage*[nHas];
    ......