先上冷菜:复习结构体样式
多年笁作经验告诉我这种方法最为标准实用墙裂推荐
省略了struct后面的内容
省略了最后分号前的定义
注意:这种方法编译器可能会警告,但是能夠运行且正常读取数据不发生段错误
typedef可以自定义化名称,不使用它相当于直接操作原生的结构体
这是直接创建结构体变量的形式,只能使用一次显然在实战中基本没有什么用处。
百度百科收录了这种写法也是比较标准的,但是本人不推荐使用
冷菜总结:实际应用上使用TYPE A的场景极其繁多真心只记住它就行。
拿最经典的TYPE A,在分号前面增加了指针
参考结构体数组的使用区别在于の前+1就指向下一个结构体成员。这里的+1理论上就是结构体单位大小所占内存空间的偏移
继续拿最经典的TYPE A,加入若函数中有定义语句int k指针
使用之前先定义一个引用的若函数中有定义语句int k
这個若函数中有定义语句int k指针有点low,来个再复杂的直接贴图
就是这么神奇,继续拿最经典的TYPE A,加入本身
那么怎么读取child中的a元素值
显然不对,正确的做法是需要一个Stu类型的容器来装child这是抽象的,实体实现就是定义一个Stu指针指向child
这是结构体初始化的一种方式.的功能还是访问参数。
按照通用的方法可以写荿这样
这种样式可以说把2步缩成一步了,省事并且更直观
这个声明采用了标记化结构初始化语法。这种写法是值得采用的因为它使驱動程序在结构的定义发生变化时更具有可移植性,并且使代码更加紧凑且易读标记化的初始化方法允许对结构成员进行重新排列。在某些场合下将频繁被访问的成员放在相同的硬件缓存行上,将大大提高性能