协议需求:
(1)序列号(1个字节) 属性(1个字节) 名称(18个字节)
(2)现有一块空间为600个字节,以20个字节为单位,分别存储以上数据,直到存满为止,并能解析。
根据协议,我们可以设计一个结构体来表述这些数据:
struct Data_Info
{
char serial_num ; //序列号
char property ; //属性
char sample_name[18]; //分类名称
};
恰恰在做嵌入式开发或者有关协议的开发就会要求类似这样的需求,我们可以写一个简单的C程序模拟一下这个过程:
首先,模拟一堆已经定义好的数据,用来表示Data_Info里的分类名称:
char *name[] =
{
"水果",
"蔬菜",
"啤酒",
"酒精",
"柴油",
"娃哈哈",
"奶茶",
"雪碧",
"可乐",
"硫酸",
"盐酸",
"硝酸"
};
接下来,写一个函数,用于随机初始化一块600个字节的内存空间,初始化600个字节中,以每20个字节为单位,分别按协议的要求初始化序列号、属性、名称。
//创建样本库数据
void Create_Simple_Data(char *_data)
{
int i ;
i