亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言數組按協議存儲與按協議解析數據的實現

2020-01-26 13:37:23
字體:
來源:轉載
供稿:網友

協議需求:

  • (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 ; int count_num = 1 ; for(i = 0 ; i < 600 ; i++) { if(i % 20 == 0) {  _data[i] = count_num ;  _data[i+1] = rand()%2 ;  memcpy(_data+i+2,name[rand()%7],18);  count_num++ ; }  }}

輸出數據的函數,用于輸出600個字節里的數據,按協議進行解析。

//輸出樣本庫信息 void Put_Simple_Data(char *_data){ int offset_start = 0 , count = 0 , end_position = 0 ; int end_position_save = 0 ; int count_number = 0 ; count_number = 0 ; for(offset_start = 0 , count = 0 ; / offset_start < 600 ;  / offset_start++ ,count++) / {  //每20個字節為單位  if(count == 20)  {   //1.記錄起始地址  end_position = offset_start ;  //2.以20個字節作為分割點,分割數據   sample_data_info[count_number].serial_num = _data[end_position-20] ;  //20*n+0為庫的編號  sample_data_info[count_number].property  = _data[end_position-19] ;  //20*n+1為庫的屬性  memset(sample_data_info[count_number].sample_name,0,18);      memcpy(sample_data_info[count_number].sample_name,(_data+2)+(20*count_number),18); //20*n+2....20*n+2+18為庫的名稱   printf("編號:%d  屬性:%d  名稱:%s/n",sample_data_info[count_number].serial_num,sample_data_info[count_number].property,sample_data_info[count_number].sample_name);  //記錄有多少個20  count_number++ ;  //將當前的計數清0   count = 0 ;    } }}

主函數中,主要工作是開辟一塊600字節的內存空間用于存儲,并調用以上的函數實現功能:

int main (void) { char *_data = NULL ; _data = malloc(600); Create_Simple_Data(_data); Put_Simple_Data(_data); free(_data); _data = NULL ;  return 0;}

運行結果:

在內存足夠大的情況下,這無疑是非常好的方法,既簡單又粗暴,但在單片機的程序上,可能無法一次性分配如此大的,比如Ucos,一個棧的分配有限,現在,又如何來實現這樣的協議呢?不建議把棧改大,因為單片機沒有虛擬內存管理機制,如果當前的任務改大了,其余的也就相對的要變小了。開動腦筋吧!

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲视频一区二区三区| 亚洲国产高清高潮精品美女| 久久99国产精品久久久久久久久| 精品香蕉在线观看视频一| 中文一区二区视频| 亚洲欧美国产精品久久久久久久| 欧美精品久久久久久久久久| 68精品国产免费久久久久久婷婷| 在线看片第一页欧美| 日韩欧美成人免费视频| 欧美激情欧美激情在线五月| 亚洲第一色在线| 国产精品999| 日本老师69xxx| 亚洲第一视频在线观看| 亚洲欧洲日产国码av系列天堂| 久久99精品久久久久久琪琪| 亚洲精品在线视频| 岛国精品视频在线播放| 九九热这里只有精品免费看| 亚洲精品成人网| 奇门遁甲1982国语版免费观看高清| 久久成人亚洲精品| 欧美日韩免费区域视频在线观看| 成人在线中文字幕| 最近2019中文字幕大全第二页| 欧美日韩在线免费观看| 久久99精品久久久久久青青91| 欧洲成人在线视频| 亚洲美女视频网站| 中文字幕少妇一区二区三区| 亚洲精品一区在线观看香蕉| 日韩中文字幕av| 久久久天堂国产精品女人| 亚洲美女av网站| 欧美激情亚洲一区| 91久久久久久久| 欧美福利视频网站| 在线成人免费网站| 久久久久久久999| 91成人国产在线观看| 97在线视频免费播放| 国产日韩精品在线| 欧美黑人狂野猛交老妇| 黄色成人在线播放| 欧美猛交免费看| 精品国内自产拍在线观看| 日本不卡视频在线播放| 色噜噜亚洲精品中文字幕| 亚洲网站在线观看| 久久久久久久久亚洲| 国产精品久久久久久久av大片| 国产精品免费一区二区三区都可以| 自拍偷拍亚洲区| 狠狠久久亚洲欧美专区| 国产成人综合精品在线| 正在播放欧美一区| 国产视频精品久久久| 国产精品人人做人人爽| 久久国产一区二区三区| 国产精品美女在线| 国产精品一区二区三| 国产91在线视频| 日韩欧美极品在线观看| 91精品国产九九九久久久亚洲| 亚洲色图校园春色| 成人欧美在线观看| 精品日韩中文字幕| 欧美限制级电影在线观看| 国产成人精品国内自产拍免费看| 国产欧美久久久久久| 国产精品尤物福利片在线观看| 2019亚洲男人天堂| 欧美麻豆久久久久久中文| 精品日韩美女的视频高清| 538国产精品视频一区二区| 在线视频一区二区| 欧美理论电影在线观看| 欧美最猛性xxxxx免费| 激情亚洲一区二区三区四区| 欧美日韩在线视频一区二区| 日本精品视频在线| 欧美成年人在线观看| 亲子乱一区二区三区电影| 亚洲男人天堂九九视频| 5278欧美一区二区三区| 深夜福利一区二区| 国产精品嫩草影院久久久| 国产成人91久久精品| 中文字幕一精品亚洲无线一区| 亚洲黄色成人网| 亚洲网在线观看| 日韩成人xxxx| 亚洲黄页视频免费观看| 国产精品第三页| 97avcom| 97婷婷涩涩精品一区| 成人中文字幕在线观看| 国产亚洲欧洲黄色| 欧美另类极品videosbestfree| 亚洲精品成a人在线观看| 欧美性色19p| 日韩美女视频免费在线观看| 91久久精品国产91性色| 国产成人涩涩涩视频在线观看| 国产欧美日韩精品在线观看| 亚洲第一偷拍网| 国产欧美精品va在线观看| 日韩av在线电影网| 国产精品扒开腿做爽爽爽的视频| 7777精品久久久久久| 国产精品久久久久久久久久小说| 日韩av色在线| 92国产精品久久久久首页| 奇米四色中文综合久久| 亚洲有声小说3d| 97精品一区二区三区| 在线一区二区日韩| 国产69久久精品成人看| 午夜精品一区二区三区视频免费看| 国产伦精品一区二区三区精品视频| 日韩欧美精品免费在线| 成人免费网站在线看| 中文综合在线观看| 毛片精品免费在线观看| 欧美日韩福利电影| 亚洲黄一区二区| 亚洲国产精品字幕| 亚洲性av网站| 国产91免费看片| 97视频在线观看免费高清完整版在线观看| 亚洲精品国产拍免费91在线| 日韩欧美有码在线| 久久久成人精品视频| 国产精品久久精品| 亚洲精品中文字幕女同| 中文字幕在线看视频国产欧美在线看完整| 亚洲国产精品人人爽夜夜爽| 日韩在线免费视频观看| 亚洲加勒比久久88色综合| 久久色精品视频| 亚洲伊人第一页| 色七七影院综合| 精品无码久久久久久国产| 国产精品久久久久久亚洲调教| 国产不卡一区二区在线播放| 欧美性受xxxx白人性爽| 国产一区二区在线播放| 亚洲精品一区二区三区不| 久久精品亚洲94久久精品| 亚洲精品国产免费| 国产又爽又黄的激情精品视频| 国产精品精品视频一区二区三区| 欧美丝袜第一区| 亚洲一区二区三区视频播放| 中文字幕日本精品| 91久久久久久久久| 懂色av中文一区二区三区天美| 97久久久免费福利网址| 中文字幕亚洲自拍| 亚洲欧美日韩高清| 欧美日韩国产精品一区| 亚洲激情国产精品| 欧美激情在线有限公司|