结构体的一些容易被忽略的重要知识

Posted amedeo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结构体的一些容易被忽略的重要知识相关的知识,希望对你有一定的参考价值。

 

结构体在完成定义之前是incomplete type(不完全类型),不完全类型不能定义对象,只能定义引用和指针,或者用于声明函数的形参和返回值类型。

struct成员类型不可以是它自己。

因为会递归定义。 理论上这样导致结构体的大小不能被计算(无限大小)。所以不能在结构体里的成员类型是结构体本身。 但是成员可以定义为该结构体的指针。因为指针的大小是已知的(随编译器和操作系统而定)。 所以可以定义为该结构体的指针,但不是该结构体。

 

 

 

作者:耑新新,发布于  博客园

转载请注明出处,欢迎邮件交流:[email protected]

以上是关于结构体的一些容易被忽略的重要知识的主要内容,如果未能解决你的问题,请参考以下文章

[GO] go语言中结构体的三种初始化方式

[GO] go语言中结构体的三种初始化方式

07结构体.

C语言初阶笔记初识结构体

C语言初阶笔记初识结构体

C语言初阶笔记初识结构体