结构体的声明与定义

s0,s1,s2都是struct Stu 的别名,即结构体的重命名。(这种情况下就不可以在声明的同时定义变量了)
sp,spp都是sturct Stu类型的
n1为结构体声明的同时定义变量,在下面重新赋值时不能只写n1,还要加上struct Stu。
如果没有对结构体重命名,比如sturct node类型,则在其他作用域中定义变量时,必须加上struct
结构体的自引用

不可以包含struct node n1;只能包含结构体指针。
必须写struct node* 不可写node*
结构体内存对齐
结构体内存对齐是用来计算结构体所占内存的大小的。
首先得掌握结构体的对齐规则:
1. 第一个成员在与结构体变量偏移量为0的地址处。
2. 其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。 对齐数 = 编译器默认的一个对齐数 与 该成员大小的较小值。 VS中默认的值为8,linux中
本文详细讲解了C语言中的自定义类型,包括结构体的声明与定义、自引用、内存对齐、修改默认对齐数、结构体传参以及位段、枚举和联合体的使用。通过实例分析了结构体内存对齐的规则,并探讨了结构体作为函数参数时的影响。此外,还介绍了位段的特性以及联合体如何用于判断机器字节序。
最低0.47元/天 解锁文章
494

被折叠的 条评论
为什么被折叠?



