C中当开发内核驱动或者系统建模的时候,常常用到结构体,那么小编通过一篇文章漫谈一下结构体。
两个要点吧
1. 结构体就是不同类型空间的总和
2. 结构体在内存是有确定空间的,空间如何排列请参考ABI的规格
导入实际的使用场景,假如现在需要对一个描述符进行建模,并测试。
如下为desc的结构体成员定义。
下文就是对结构体的建模,输入只有描述的index和地址,getDesc是返回一个结构体。
上个函数返回了结构体,这里多说一下,有人可能会想为什么不返回指针呢,这样更节省资源。如下给出结构体的指针的简单用法。注意指针的访问。
主函数如下
结果如下
上文看之后会觉得结构体是不是很简单,小编留一个问题,给大家思考。如果这样定义,tATA,主函数能正常运行吗