struct topo_node
{
    union 
{
struct 

long x;
long y;
};
        long nod[2];
};

topo_node(){}
topo_node(long lx, long ly)
{
x = lx;
y = ly;
}
};我想定义一个3个这样结构体的数组topo_node node[3],应该怎么给这个数组赋值呢

解决方案 »

  1.   

    node[0].x = 10;
    node[0].y = 10;
    node[0].nod[0] = 10;
    node[0].nod[1] = 10; node[1].x = 20;
    node[1].y = 20;
    node[1].nod[0] = 20;
    node[1].nod[1] = 20; node[2].x = 30;
    node[2].y = 30;
    node[2].nod[0] = 30;
    node[2].nod[1] = 30;
      

  2.   

    topo_node ** p = new topo_node*[3];
    for (int i=0; i<3; i++)
    {
    p[i] = new topo_node(i,i+1);
    } for (int i=0; i<3; i++)
    {
    cout<<p[i]->x<<"\t"<<p[i]->y<<endl;
    }
      

  3.   

    struct topo_node
    {
        union 
    {
    struct 

    long x;
    long y;
    };
                      long nod[2];
    };

    };
    我想问一下,我这样声明这个结构体,和上面的声明方法有什么不同吗?比如说执行效率和执行时间上。
      

  4.   


             topo_node ** p = new topo_node*[3];

             for (int i=0; i<3; i++)
    {
    p[i] = new topo_node(i,i+1);
    }
    ////////////////////////////////////////////////////////////////////
    topo_node ** p = new topo_node*[3];
    p[i] = new topo_node(i,i+1);
    这两句什么意思?