为什么要有struct关键字


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

Tags in this post...

面试题 相关文章推荐
是什么让J2EE适合用来开发多层的分布式的应用
Jan 16 面试题
C++面试题:关于链表和指针
Jun 05 面试题
不用游标的SQL语句有哪些
Sep 07 面试题
Internet体系结构
Dec 21 面试题
恶意软件的定义
Nov 12 面试题
初级软件工程师面试题 Junior Software Engineer Interview
Feb 15 面试题
优纳科技软件测试面试题
May 15 面试题
介绍一下JNDI的基本概念
Jul 26 面试题
Java基础面试题
Jul 19 面试题
构造方法和其他方法的区别
Apr 26 面试题
请问软件开发中的设计模式你会使用哪些
May 13 面试题
解释下列WebService名词:WSDL、SOAP、UDDI
Jun 22 面试题
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
修改apache配置文件去除thinkphp url中的index.php
2014/01/17 PHP
jquery+json实现的搜索加分页效果
2010/03/31 Javascript
javascript重写alert方法的实例代码
2013/03/29 Javascript
jquery 页面滚动到指定DIV实现代码
2013/09/25 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
详解jQuery lazyload 懒加载
2016/12/19 Javascript
layer弹出层框架alert与msg详解
2017/03/14 Javascript
vue构建单页面应用实战
2017/04/10 Javascript
bootstrap选项卡扩展功能详解
2017/06/14 Javascript
详解webpack 多页面/入口支持&公共组件单独打包
2017/06/29 Javascript
bootstrap treeview 扩展addNode方法动态添加子节点的方法
2017/11/21 Javascript
Js经典案例的实例代码
2018/05/10 Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
2018/06/26 Javascript
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
Vue实现点击按钮复制文本内容的例子
2019/11/09 Javascript
Element Carousel 走马灯的具体实现
2020/07/26 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
Python 正则表达式实现计算器功能
2017/04/29 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
pytorch中的上采样以及各种反操作,求逆操作详解
2020/01/03 Python
PyQt5-QDateEdit的简单使用操作
2020/07/12 Python
Python使用pyenv实现多环境管理
2021/02/05 Python
html5 localStorage本地存储_动力节点Java学院整理
2017/07/06 HTML / CSS
Vans英国官方网站:美国南加州的原创极限运动潮牌
2017/01/20 全球购物
时装界的“朋克之母”:Vivienne Westwood
2017/07/06 全球购物
Feelunique美国:欧洲大型的在线美妆零售电商
2018/11/04 全球购物
在家更换处方镜片:Lensabl
2019/05/01 全球购物
洗发水广告词
2014/03/13 职场文书
岗位职责怎么写
2014/03/14 职场文书
2014两会优秀的心得体会范文
2014/03/17 职场文书
入党自我鉴定
2014/03/25 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
盲山观后感
2015/06/11 职场文书
left join、inner join、right join的区别
2021/04/05 MySQL
GoLang中生成UUID唯一标识的实现
2021/05/08 Golang