关于c语言结构体嵌套

结构体嵌套:
typedef struct{
int key;
char name[20];
char gender[10];
int sno;
}student;

typedef struct{
student stu[N];
int lengh;
}Table;

以下这句有什么问题:
scanf("%d,%s,%s,%d",&pT->stu[i].key,pT->stu[i].name,pT->stu[i].gender,&pT->stu[i].sno);
error C2227: left of '->stu' must point to class/struct/union
........................

我定义了
Table T
Table *pT=&T

第1个回答  2008-12-16
->stu的左边必须是一个Talbe的结构体指针。
scanf("%d,%s,%s,%d",&pT->stu[i].key,pT->stu[i].name,pT->stu[i].gender,&pT->stu[i].sno);
这段代码中的pT就是Table的结构体指针。
可以这样得到:
Table * pT;
pT=(Table *)malloc(sizeof(Table));
第2个回答  2008-12-16
是不是编译就过不去啊,试试把第二个结构体定义中的student前加个struct

C语言 结构体的嵌套
C语言中,结构体是一种自定义数据类型,可以将不同类型的数据组合在一起,形成一个新的数据类型。结构体的嵌套则是将一个结构体作为另一个结构体的成员,从而形成更加复杂的数据结构。结构体的定义和使用 定义结构体使用关键字struct,后面跟着结构体的名称和结构体的成员。例如:struct person { char ...

C语言-结构体指针及结构体嵌套
嵌套结构体初始化时,按照成员的顺序逐个初始化。C语言允许结构体嵌套自身的结构体指针,但不能嵌套结构体本身。以下是几个实例,展示了结构体指针的使用和嵌套结构体的结合:1. 结构体指针:struct office {int chair; int computer;}; \/\/ 嵌套结构体 struct office officeOne = {10,10};struct of...

c语言结构体可以随意嵌套结构体么?
可以,typedef是将其定义为一种类型,方便于后来定义此类型的变量 给你举个例子:第一种方式:struct panel { ...};struct player { struct panel panel1;...};后面如果需要定义player类型的变量,则要有此格式: struct player var1 第二种方式:typedef struct panel { ...};typedef struct pla...

C语言 如何在结构体中给嵌套的结构体赋值?
结构体嵌套,赋初值,大括号嵌套就可以了。问题是你代码写错了。你定义的old1不是结构类型,而是结构变量。在shuju中成员要写struct old 变量名;不能写struct old1。下面是演示代码:(补充:如果想定义一个结构类型别名,要用typedef)include <stdio.h> struct old { int year;int month;int day;...

C语言中结构体嵌套后如何放到函数体中
以形参的形式放入函数体进行操作,只需要将形参和实参类型匹配就可以了。比如a[i].riqi.year是int型,那么你的函数就可以写成void fun(int i)。

关于c语言结构体嵌套
->stu的左边必须是一个Talbe的结构体指针。scanf("%d,%s,%s,%d",&pT->stu[i].key,pT->stu[i].name,pT->stu[i].gender,&pT->stu[i].sno);这段代码中的pT就是Table的结构体指针。可以这样得到:Table * pT;pT=(Table *)malloc(sizeof(Table));...

请教各位大侠,c语言结构体嵌套的问题、。
C语言实现不了你的想法。结构本身是没有值的,只有结构成员才有值。typedef struct{ float H;float L;float actual;}physic;typedef struct{ physic v;physic p;}thing;thing RTU;RTU.v.H=123.456;RTU.v.L=0;RTU.v.actual=100;

C语言结构体嵌套问题
我们定义一个新的结构体,就像定义一个新的数据类型一样,所以你的author和book都是一种结构体,而不是具体的变量,所以还要加一步(就像你第二个定义里面的struct author member一样):struct book books[N];后面用books这个数组变量就可以了(看你后面是想要个数组的)。

C语言中结构体嵌套
int age;};typedef struct student STU; \/\/学生 struct class { STU students[50];};typedef struct class Class; \/\/班 void main(void){ STU students[50]={...初始化}; \/\/学生数组 STU ...Class classes[8]; \/\/班级数组 classes[0].students = students; \/\/初始化班级学生 classes...

c语言结构体嵌套有什么用途
不同结构体代表一个管理实例,比如一个服务器下面管理多台电脑,typedef struct{ char name[10]; \/\/电脑的名字 char ip[4]; \/\/电脑的IP char mac[6]; \/\/电脑的MAC }Computer;typedef struct{ char name[10]; \/\/服务器的名字 char ip[4]; \/\/服务器的IP Computer client[10];}...

相似回答
大家正在搜