关于c语言结构体嵌套的问题

一段C语言结构体嵌套的问题,编译报未定义标识符不知道怎么回事。换成.cpp编译就通过了。

早期纯C编译器要求结构体类型必须写上struct关键字,不能只写个结构体名。后来C++兼容的编译器则允许写结构体名就可以了。所以你在嵌套时结构体成员名前写上struct(struct Order order;)就在什么编译器下都能通过了……
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-10-28
struct Order

~~~~~~~~~~~追问

谢谢谢谢!

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

请教各位大侠,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;

嵌套结构体问题。
这里就涉及到指针这种特殊的类型,(指针本身占用的空间,和指针指向的空间,)2,而当把这个结构体的本身作为自身变量的时候,你就无法知道这个变量具体占用的内存空间是多少,所以在给变量分配空间的时候就无法分配,所以说错误,(就好比你定义一个数组,一定要指定这个数组有多少个元素,要不然计算机也没办法知道你...

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

C语言结构体的嵌套问题
scanf输入格式有问题 include <stdio.h> include <stdlib.h> include <malloc.h> include <string.h> struct course { char name[10];int score;int credithour;};typedef struct student { char name[10];struct course s[5];int average;struct student *next;}STU;void Create(STU *L){ ...

c语言 关于结构体嵌套赋值的问题 急求解答 非常感谢
定义一个SeqList的对象,然后进行调用啊~比如:SeqList seq;seq.num[0].email[0] = 你想赋的值】你可以吧email定义成string类型

C语言结构体内嵌联合问题?
联合体里边有三个成员,共享同一段内存,这是联合体的特性。因为该联合体声明为匿名联合体,所以可以像访问一个外层的结构体变量一样直接访问联合体的成员。举个例子:sensor a; \/\/定义一个sensor类型的变量a a.x=1.12; \/\/访问匿名联合体的成员 a.y=2.34; \/\/访问匿名联合体的成员 ...

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语言结构体嵌套问题
Date { int month;int day;int year;};struct Person { char name[20];char sex;struct Date birthday;unsigned num;};int main(void){ struct Person p1={"WangLi",'M',12,15,1974,111000222};struct Person p2;p2=p1;printf("zhang:%s,%c,%d-%d-%d,%lu\\n",p1.name,p1.sex,p1....

相似回答