结构体指针数组怎么初始化

#include <iostream>
#include <string>

using namespace std;
const int nu=20;

class Stuinf
{
private:
string Name;
string Num;
int Age;
string Address;
string Phone;
Stuinf *next;
......
~Stuinf(){};
};

int main(){
Stuinf *head=new Stuinf();
Stuinf *st[nu];//就这个,怎么初始化10个数据到里面?
int i;

可以使用循环的方式,创建20个对象,然后依次将所得到的指针放置到数组里面。

如果你想创建20个堆区的对象,必须要使用20个new操作。也就是不可避免的调用20次new。

但是如果你想在堆区一次性创建一个数组,存放20个对象,可以使用new Stuinf[nu]的方式。
不过该返回值与Stuinf *st[nu];的实际结果不同。

Stuinf *st[nu];是创建了20个指针,可以指向20个在不连续空间存储的对象。
new Stuinf[nu]是得到了1个指针,这一个指针指向了一段连续的空间,连续存储了20个对象。

请了解。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-28
static Stuinf (*st)[nu];

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网