为什么要有struct关键字


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

Tags in this post...

面试题 相关文章推荐
为什么要优先使用同步代码块而不是同步方法?
Jan 30 面试题
如何实现jdbc性能优化
Jul 30 面试题
List, Set, Map是否继承自Collection接口?
May 16 面试题
SQL Server面试题
Oct 17 面试题
解释DataSet(ds) 和 ds as DataSet 的含义
Jul 27 面试题
.NET方向面试题
Nov 20 面试题
linux面试题参考答案(11)
Nov 26 面试题
几个Linux面试题笔试题
Dec 01 面试题
主要的Ajax框架都有什么
Nov 14 面试题
如何执行一个shell程序
Nov 23 面试题
大唐面试试题(CPU,UNIX等等)
Jan 11 面试题
WSDL的操作类型主要有几种
Jul 19 面试题
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下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
2011/09/19 PHP
php的XML文件解释类应用实例
2014/09/22 PHP
php实现文章置顶功能的方法
2016/10/20 PHP
ThinkPHP 3.2.2实现事务操作的方法
2017/05/05 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
2017/10/11 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
PHP iconv()函数字符编码转换的问题讲解
2019/03/22 PHP
JS面向对象编程 for Cookie
2010/09/19 Javascript
jQuery autocomplate 自扩展插件、自动完成示例代码
2011/03/28 Javascript
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
深入解析JavaScript中的数字对象与字符串对象
2015/10/21 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
JavaScript数组和对象的复制
2017/03/21 Javascript
vue中v-text / v-html使用实例代码详解
2019/04/02 Javascript
React传值 组件传值 之间的关系详解
2019/08/26 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
2020/01/04 Javascript
python生成词云的实现方法(推荐)
2017/06/13 Python
详解python中executemany和序列的使用方法
2017/08/12 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
用python代码将tiff图片存储到jpg的方法
2018/12/04 Python
python批量获取html内body内容的实例
2019/01/02 Python
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
比较一下entity bean和session bean
2013/12/27 面试题
信息管理专业推荐信
2013/10/29 职场文书
学生拾金不昧表扬信
2014/01/21 职场文书
小学班主任寄语大全
2014/04/04 职场文书
成品库仓管员岗位职责
2014/04/06 职场文书
工作求职自荐信
2014/06/13 职场文书
有关九一八事变的演讲稿
2014/09/14 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
派出所副所长四风问题个人整改措施思想汇报
2014/10/13 职场文书
团队拓展训练感想
2015/08/07 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers