为什么要有struct关键字


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

Tags in this post...

面试题 相关文章推荐
什么是接口(Interface)?
Feb 01 面试题
说出ArrayList,Vector, LinkedList的存储性能和特性
Jan 04 面试题
求最大连续递增数字串(如"ads3sl456789DF3456ld345AA"中的"456789")
Sep 11 面试题
Sql面试题
Mar 20 面试题
SQL面试题
Dec 09 面试题
杭州龙健科技笔试题.net部分笔试题
Jan 24 面试题
linux面试题参考答案(4)
Sep 21 面试题
优纳科技软件测试面试题
May 15 面试题
GWT (Google Web Toolkit)有哪些主要的原件组成?
Jun 08 面试题
初始化了一个没有run()方法的线程类,是否会出错?
Mar 27 面试题
int和Integer有什么区别
May 25 面试题
Java面试题冲刺第十七天--基础篇3
Aug 07 面试题
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 文件上传代码(限制jpg文件)
2010/01/05 PHP
PHP 数组排序方法总结 推荐收藏
2010/06/30 PHP
php shell超强免杀、减少体积工具实现代码
2012/10/16 PHP
js和php邮箱地址验证的实现方法
2014/01/09 PHP
利用PHP判断是否是连乘数字串的方法示例
2017/07/03 PHP
phpstorm激活码2020附使用详细教程
2020/09/25 PHP
准确获得页面、窗口高度及宽度的JS
2006/11/26 Javascript
List all the Databases on a SQL Server
2007/06/21 Javascript
jQuery最佳实践完整篇
2011/08/20 Javascript
JavaScript面向对象知识串结(读JavaScript高级程序设计(第三版))
2012/07/17 Javascript
javascript实现信息的显示和隐藏如注册页面
2013/12/03 Javascript
Jquery遍历节点的方法小集
2014/01/22 Javascript
js图片预加载示例
2014/04/30 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
JS实现倒计时和文字滚动的效果实例
2014/10/29 Javascript
express的中间件bodyParser详解
2014/12/04 Javascript
EasyUI创建人员树的实例代码
2017/09/15 Javascript
使用Vue写一个datepicker的示例
2018/01/27 Javascript
vue实例中data使用return包裹的方法
2018/08/27 Javascript
React Hooks的深入理解与使用
2018/11/12 Javascript
小程序如何在不同设备上自适应生成海报的实现方法
2019/08/20 Javascript
javascript 数组精简技巧小结
2020/02/26 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
Nodejs 数组的队列以及forEach的应用详解
2021/02/25 NodeJs
解析Python中的生成器及其与迭代器的差异
2016/06/20 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
python numpy存取文件的方式
2020/04/01 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
2020/02/11 Python
python中rc1什么意思
2020/06/19 Python
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
化妆师职业生涯规划书
2014/02/16 职场文书
公司周年庆典策划方案
2014/05/17 职场文书
中学生关于梦想的演讲稿
2014/08/22 职场文书
社区党支部公开承诺书
2015/04/29 职场文书
python opencv通过4坐标剪裁图片
2021/06/05 Python