66问答网
所有问题
为什么结构体中的成员类型不能是该结构体本身,却可以是以该结构体类型为基本型的
如题所述
举报该问题
推荐答案 推荐于2017-11-25
我的理解,
结构体
的在构造的时候肯定不能引用自身,不然就会形成嵌套死循环。
通俗一点的理解,定义一个结构体的时候,在定义其成员的时候,这个结构体还未完成。发现引用了一个还未定义完成的结构体(也就是他自身),
编译器
会出错把。
“以该结构体类型为基本型的” 后面是不是还有话啊,就这里看不懂 ,我是不是可以这样理解,以该结构体类型为父的其他结构体。
那么这个“其他结构体”必然是已经完成构造的,在最原始的父结构体中引用,编译器不会出错,但是我觉得用起来估计会有些毛病。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/s9siU9v9D.html
相似回答
为什么结构体中的成员类型不能是该结构体本身,却可以是以该结构体类型
...
答:
很简单,C语言中,结构体所占用内存必须在编译时确定,如果一个
结构体中
含有它
本身,
那么这个结构体所占用的内存大小是多少呢?这会循环形成一个永远也无法计算清楚的数值;如果是结构体指针,那么久好说了,指针只占用4个字节,因此可以成为
结构体成员
。能理解么?
求一些有名的半自动手枪或自动手枪的型号
答:
M84手枪行半自动射击时采用简单的反冲原理,因使用低威力子弹,所以基本上无闭锁装置,例如M92手枪为配合铰炼式闭锁装置而在滑套两侧开闭锁沟槽,破坏了滑套
结构体的
完整性,因M84无闭锁沟槽,故能保持滑套主结构体的完整性。后来M84手枪衍生出M83与M85,均使用同口径弹药,M83手枪采用7发单排弹匣,而M85则...
C语言的
结构类型
与C++的类有
什么
区别
答:
一、相同之处:结构体中可以包含函数;也可以定义public、private、protected数据成员;定义了结构体之后
,可以
用结构体名来创建对象。但C
中的结构体
不允许有函数;也就是说在C++
当中,结构体中可以
有成员变量,可以有成员函数,可以从别的类继承,也可以被别的类继承,可以有虚函数。二、不同之处:结构...
c语言
结构体
答:
struct
s 是一个结构体数据
类型,
简单来说相当于int, float,x是一个结构体变量 struct s{ };是
结构体的
声明 struct s x;是结构体变量的声明...多看书.基础要扎实
C语言中 sizeof 运算的值是在编译时还是运
答:
1) 前面不是说
结构体成员的
地址是其大小的整数倍,怎么又说到偏移量了呢因为有了第1点存在,所以我们就可以只考虑成员的偏移量,这样思考起来简单。想想
为什么
。 结构体某个成员相对于结构体首地址的偏移量可以通过宏offsetof()来获得,这个宏也在stddef.h中定义,如下: #define offsetof(s,m)(size_t)&(((s*)...
c++的数据组织方式
答:
类就是把一些变量,一些函数封装到一起。在类内部,可互相调用,在外部,可通过类来引用类内部的函数以及变量。这是一种面向对象的编程思想。完全不同于C语言的面向过程。给你一些C++的基础视屏网址:www.xue8xue8.com http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=156290 ...
大家正在搜
结构体成员的类型必须是
结构体中的结构体
结构体成员的数据类型
结构体类型和结构体变量
什么叫结构体类型
结构体的类型名
结构体成员的引用
用户定义的结构体类型
结构体成员
相关问题
为什么结构体中的成员类型不能是该结构体本身,却可以是以该结构...
结构体的成员不能是自身的结构变量,但可以是该类型的指针变量如...
定义一个结构体,他的一个成员的类型就是这个结构体
结构体在头文件中,结构体中定义的也是指针类型的对象,为什么还...
为什么结构体这样定义别人可以编译,我的却不能编译
定义结构体类型,说明了该类结构体数据的组织形式,在编译程序时...
c语言中结构体,可以在定义结构体类型的时候,给某些成员赋值不
C语言中二叉树的创建中定义二叉树是运用的结构体吗,但结构体的...