![](/upload/rand_pic/2-54.jpg)
{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赋初始值。