读书人

笔考题这到底要考的是什么知识点

发布时间: 2012-10-13 11:38:17 作者: rapoo

笔试题,这到底要考的是什么知识点?
问题:
用C去描述下面数据结构的形式:
字段 内存字节
版本信息 2
数据总长度 4
数据内容 内容的长度
可选数据长度 2
可选消息内容 内容的长度
数据包的标志 4
校验码 2


笔试时,我就直接用C的形式封装一个结构体算是解答完了,可面试官问我这题到底想考的是什么知识点,我说就是这么封装下,他说不是,请问下,这到底想考的是什么知识点呀!!!

[解决办法]
考虑内存对齐
[解决办法]
内存对齐问题吧!这样有利于数据的接收和发送的。
[解决办法]

C/C++ code
#pragma pack(push,1)struct PACK {    unsigned short int ver    ;//版本信息     2    unsigned       int tlen   ;//数据总长度   4    unsigned      char data[0];//数据内容     内容的长度} pack;struct OPTION {    unsigned short int olen   ;//可选数据长度 2    unsigned      char odat[0];//可选消息内容 内容的长度};struct TAIL {    unsigned       int falg   ;//数据包的标志 4    unsigned short int crc    ;//校验码       2};#pragma pack(pop)
[解决办法]
结构体对齐,大小端的问题即字节序的问题。
[解决办法]
探讨
C/C++ code
#pragma pack(push,1)
struct PACK {
unsigned short int ver ;//版本信息 2
unsigned int tlen ;//数据总长度 4
unsigned char data[0];//数据内容 内容的长度
} pack;
stru……

读书人网 >C++

热点推荐