struct数组嵌套问题

09-01 科技 投稿:昌抒

{A b; //正确,声明一个结构变量数组b[10]

A c={1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10}; //赋值方式1。

for(i=0;i i++) //使用循环语句赋值,当然也可以使用像给其他数组赋值的方法赋值

{b[i].a=i; b[i].b=i;

}

}

void main()

{

}

仅供参考

typedef struct list{

int a;

int b;

}A;

typedef struct list2{

int a;

int b;

A *c;

}B;

B *b = new B;

b- c = new A[10];

init(B **b){

for(int i; i i++)

(*b)- c[i].a = i;

(*b)- c[i].b = i;

}

typedef struct list2{

int a;

int b;

A c;// = a 改为 c,否则重名

}B;

void init(list2 *p) {

...

for (int i = 0; i i++) {

p- c[i].a = 0; // 根据你的需要初始化

p- c[i].b = 0;

}

...

}

struct list{

int a;

int b;

}A[10];

这样是对的!

赋值:

int a()

for(i=0;i i++)

scanf(%d,%d,a[i].a,a[i].b);

mark下来,等会来修改!

二、嵌套类不能使用前置申明?

前向引用应该不是A::B吧 我稍作修改不知是不是你要的结果

#include using namespace std; class A; class B; class A { public: class B { public: void func() { cout B\n; } }; B g; }; int main() { A a; a.g.func(); return 0; } 在A里面定义的类B只是定义了而已,在创建A时没有相应的创建类B的对象,所以加上 B g;这条语句

三、两个结构体别名嵌套,如何声明?

改为如下形式:

#include iostream

#include string

using namespace std;

typedef struct anode ArcNode; //注意这里

typedef struct dnode{

string data;

ArcNode *First; //注意这里

}DiaNode;

typedef struct anode{

DiaNode *thus; //注意这里

ArcNode *next; //注意这里

}ArcNode;

四、循环嵌套在声明赋值和在循环体内赋值不一样么,求详解

for循环可以在第一个表达式赋初值

如下:

for(int i=0; i i++) {

....

}

其中的第一句int i=0就是定义并给循环变量i赋初始值。

声明:生活头条网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系admin@gdcyjd.com