为什么要有struct关键字


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

Tags in this post...

面试题 相关文章推荐
什么是smarty? Smarty的优点是什么?
Aug 11 面试题
介绍一下Cookie和Session及他们之间的区别
Nov 20 面试题
Java里面如何创建一个内部类的实例
Jan 19 面试题
VC++笔试题
Oct 13 面试题
数据库设计的包括哪两种,请分别进行说明
Jul 15 面试题
如何手工释放资源
Dec 15 面试题
Linux Interview Questions For software testers
May 17 面试题
linux系统都有哪些运行级别
Mar 26 面试题
中科软笔试题和面试题
Oct 07 面试题
一套软件开发工程师笔试题
May 18 面试题
Python的两道面试题
Jun 29 面试题
SOA面试题:如何在SOA中实现松耦合
Jul 21 面试题
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 5.3新增魔术方法__invoke概述
2014/07/23 PHP
PHP中读取文件的几个方法总结(推荐)
2016/06/03 PHP
php PDO判断连接是否可用的实现方法
2017/04/03 PHP
php调用云片网接口发送短信的实现方法
2017/10/25 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
2018/08/17 PHP
文字幻灯片
2006/06/26 Javascript
Javascript实例教程(19) 使用HoTMetal(3)
2006/12/23 Javascript
关于juqery radio写法的兼容性问题(新老版本jquery)
2010/06/14 Javascript
jquery延迟加载外部js实现代码
2013/01/11 Javascript
JS模块与命名空间的介绍
2013/03/22 Javascript
js实现按钮加背景图片常用方法
2014/11/01 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
2015/10/08 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
jQuery实现获取选中复选框的值实例详解
2018/06/28 jQuery
使用D3.js构建实时图形的示例代码
2018/08/28 Javascript
[01:20:05]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第二场 2月5日
2021/03/11 DOTA
python编写的最短路径算法
2015/03/25 Python
对pandas中两种数据类型Series和DataFrame的区别详解
2018/11/12 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
django 实现后台从富文本提取纯文本
2020/07/02 Python
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
AJAX都有哪些有点和缺点
2012/11/03 面试题
师说教学反思
2014/02/07 职场文书
大学生先进事迹材料
2014/02/16 职场文书
校庆活动方案
2014/03/31 职场文书
学校火灾防控方案
2014/06/09 职场文书
爱岗敬业事迹材料
2014/12/24 职场文书
2015年教师节主持词
2015/07/03 职场文书
二十年同学聚会致辞
2015/07/28 职场文书
慰问信的写作格式及范文!
2019/06/24 职场文书
Go语言并发编程 sync.Once
2021/10/16 Golang
MySQL 数据类型详情
2021/11/11 MySQL
win10电脑右下角输入法图标不见了?Win10右下角不显示输入法的解决方法
2022/07/23 数码科技
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技