为什么要有struct关键字


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

Tags in this post...

面试题 相关文章推荐
可以在一个PHP文件里面include另外一个PHP文件两次吗
May 22 面试题
比较基础的php面试题及答案-填空题
Apr 26 面试题
PHP开发工程师面试问题集锦
Nov 01 面试题
super关键字的用法
Apr 10 面试题
C语言编程练习
Apr 02 面试题
如何实现一个自定义类的序列化
May 22 面试题
Linux管理员面试经常问道的相关命令
Apr 29 面试题
Windows和Linux动态库应用异同
Jul 28 面试题
软件测试常见笔试题
Feb 04 面试题
如何获得EntityManager
Feb 09 面试题
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
Aug 18 面试题
shell变量的作用空间是什么
Aug 17 面试题
Kingsoft金山公司C/C++笔试题
May 10 #面试题
strlen的几种不同实现方法
May 31 #面试题
威盛公司软件C++工程师笔试题面试题
Jul 16 #面试题
金山毒霸系列的笔试题
Apr 13 #面试题
JAVA和C++区别都有哪些
Mar 30 #面试题
凌阳科技股份有限公司C++程序员面试题笔试题
Nov 20 #面试题
C++面试题:关于链表和指针
Jun 05 #面试题
You might like
PHP 引用文件技巧
2010/03/02 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
2016/12/08 PHP
PHP实现RTX发送消息提醒的实例代码
2017/01/03 PHP
PHP开发中csrf攻击的简单演示和防范
2017/05/07 PHP
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
妙用Jquery的val()方法
2012/06/27 Javascript
javascript自定义的addClass()方法
2014/05/28 Javascript
jQuery中:enabled选择器用法实例
2015/01/04 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
2015/09/24 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
2016/06/21 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
js实现千分符和保留几位小数的简单实例
2016/08/01 Javascript
Ajax异步文件上传与NodeJS express服务端处理
2017/04/01 NodeJs
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
基于iview的router常用控制方式
2019/05/30 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
2021/01/08 Vue.js
typescript编写微信小程序创建项目的方法
2021/01/29 Javascript
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
2015/04/01 Python
python开发简易版在线音乐播放器
2017/03/03 Python
对python中array.sum(axis=?)的用法介绍
2018/06/28 Python
Python中的 sort 和 sorted的用法与区别
2019/08/10 Python
Python开发入门——迭代的基本使用
2020/09/03 Python
Python 图片处理库exifread详解
2021/02/25 Python
anello泰国官方网站:日本流行包包品牌
2019/08/08 全球购物
Rowdy Gentleman服装和配饰:美好时光
2019/09/24 全球购物
美国沃尔玛网上超市:Walmart
2020/08/14 全球购物
新护士岗前培训制度
2014/02/02 职场文书
建议书怎么写
2014/03/12 职场文书
法律六进活动方案
2014/03/13 职场文书
小学生中国梦演讲稿
2014/04/23 职场文书
党员学习中共十八大报告思想汇报
2014/09/15 职场文书
预备党员对照检查材料思想汇报
2014/09/24 职场文书
学校安全管理制度
2015/08/06 职场文书
vue-element-admin项目导入和导出的实现
2021/05/21 Vue.js