C 结构体零散知识点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C 结构体零散知识点相关的知识,希望对你有一定的参考价值。
1、结构体无法把自己作为成员,但可以包含指向自己的指针成员
2、定义不完整结构类型(类型,结构,占用空间无法确定,如void指针,声明没有指明数组长度数组)只能使用小标签,即struct struct_name定义其成员
3、匿名结构体时赋值时可使用 . 代表当前变量,指定特定成员值
struct{int a; int b;} stu = {.a=1, .b=2}; printf("%d\n", stu.a);//输出1 stu.a = 123; printf("%d\n", stu.a);//输出123
如果结构体里再包含结构体,如下所示:
struct{int a; int b; struct{int c; int d}in;} stu = {.a=1, .b=2, .in.d=5}; printf("%d\n", stu.in.d);
此外结构体定义变量间分隔使用的是 ;
4、弹性结构成员,在结构体尾部声明一个未指定长度的数组成员,这种结构体一般以指针形式使用,在申请空间后,将指针指向其,并指定数组长度,为数组赋值,在对该结构体sizeof取值时,数组不计入,该结构体不可初始化
以上是关于C 结构体零散知识点的主要内容,如果未能解决你的问题,请参考以下文章