C++在结构体里怎么定义一个动态的对象数组?

时间:2022-08-30 19:55:54
struct sinfo
{
char name[100];
int id;
char addr[100];
int math;
int english;
int computer;
sinfo *next;

};
以上是结构体的定义
我想要定义一个sinfo类型的动态指针数组

9 个解决方案

#1


struct sinfo
{
char name[100];
int id;
char addr[100];
int math;
int english;
int computer;
sinfo **next;

};

#2


引用 1 楼 w170532934 的回复:
struct sinfo
{
char name[100];
int id;
char addr[100];
int math;
int english;
int computer;
sinfo **next;

};


。。。不明白,

动态指针数组可以这样定义
int *h=new int[a];

但是动态结构体指针数组貌似不能象我上面的那样子定义了。我是小白。。。。

#3


引用 1 楼 w170532934 的回复:
struct sinfo
{
char name[100];
int id;
char addr[100];
int math;
int english;
int computer;
sinfo **next;

};


我是想将一个链表每一个节点结构体内元素的地址保存到一个动态结构体数组指针里面去,然后方便我排序,但是需要一个动态的结构体指针数组。
void order_stuinfo(sinfo*head)
{ int j;
int i=0;
sinfo *group=new sinfo *[i];
if(head==NULL)
{
cout<<"数据库内没有任何资料,请输入资料后再进行排序"<<endl;
}

while(head!=NULL)
{
group[j]=head;
head=head->next;
j++;
}
.......//略
}

#4


引用 3 楼 xlsepiphone 的回复:
引用 1 楼 w170532934 的回复:

struct sinfo
{
char name[100];
int id;
char addr[100];
int math;
int english;
int computer;
sinfo **next;

};


我是想将一个链表每一个节点结构体内元素的地址保存到一个动态结构体数组指针里面去,然后方便我排序,……


这样子定义行不通。。。不知道怎么办了

#5


楼主到底学过C++没有啊,加构造函数啊。

#6


不知道楼主是不是要这个:

      sinfo (*p) = new sinfo[10];

#7


用vector,不纠结

#8


引用 5 楼 taodm 的回复:
楼主到底学过C++没有啊,加构造函数啊。


才学到构造函数。。

#9


引用 5 楼 taodm 的回复:
楼主到底学过C++没有啊,加构造函数啊。


能说明白一点吗。。

#1


struct sinfo
{
char name[100];
int id;
char addr[100];
int math;
int english;
int computer;
sinfo **next;

};

#2


引用 1 楼 w170532934 的回复:
struct sinfo
{
char name[100];
int id;
char addr[100];
int math;
int english;
int computer;
sinfo **next;

};


。。。不明白,

动态指针数组可以这样定义
int *h=new int[a];

但是动态结构体指针数组貌似不能象我上面的那样子定义了。我是小白。。。。

#3


引用 1 楼 w170532934 的回复:
struct sinfo
{
char name[100];
int id;
char addr[100];
int math;
int english;
int computer;
sinfo **next;

};


我是想将一个链表每一个节点结构体内元素的地址保存到一个动态结构体数组指针里面去,然后方便我排序,但是需要一个动态的结构体指针数组。
void order_stuinfo(sinfo*head)
{ int j;
int i=0;
sinfo *group=new sinfo *[i];
if(head==NULL)
{
cout<<"数据库内没有任何资料,请输入资料后再进行排序"<<endl;
}

while(head!=NULL)
{
group[j]=head;
head=head->next;
j++;
}
.......//略
}

#4


引用 3 楼 xlsepiphone 的回复:
引用 1 楼 w170532934 的回复:

struct sinfo
{
char name[100];
int id;
char addr[100];
int math;
int english;
int computer;
sinfo **next;

};


我是想将一个链表每一个节点结构体内元素的地址保存到一个动态结构体数组指针里面去,然后方便我排序,……


这样子定义行不通。。。不知道怎么办了

#5


楼主到底学过C++没有啊,加构造函数啊。

#6


不知道楼主是不是要这个:

      sinfo (*p) = new sinfo[10];

#7


用vector,不纠结

#8


引用 5 楼 taodm 的回复:
楼主到底学过C++没有啊,加构造函数啊。


才学到构造函数。。

#9


引用 5 楼 taodm 的回复:
楼主到底学过C++没有啊,加构造函数啊。


能说明白一点吗。。