为什么要有struct关键字

2023-07-06   


struct 是个神奇的关键字,它将一些相关联的数据打包成一个整体,方便使用。
   在网络协议、通信控制、嵌入式系统、驱动开发等地方,我们经常要传送的不是简单的字节流(char 型数组),而是多种数据组合起来的一个整体,其表现形式是一个结构体。
   经验不足的开发人员往往将所有需要传送的内容依顺序保存在char 型数组中,通过指针偏移的方法传送网络报文等信息。这样做编程复杂,易出错,而且一旦控制方式及通信协议有所变化,程序就要进行非常细致的修改,非常容易出错。这个时候只需要一个结构体就能搞定。平时我们要求函数的参数尽量不多于4 个,如果函数的参数多于4 个使用起来非常容易出错(包括每个参数的意义和顺序都容易弄错),效率也会降低(与具体CPU 有关,ARM芯片对于超过4 个参数的处理就有讲究,具体请参考相关资料)。这个时候,可以用结构体压缩参数个数。


相关内容:

  1. 声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
  2. struct与class的区别
  3. Structs界面控制层技术
  4. 某公司C#程序员面试题笔试题
  5. struct和class的区别
  6. C#中类(class)与结构(struct)的异同