使用結構體儲存多變數型別資料

2021-07-22 07:02:25 字數 867 閱讀 9599

1:需要儲存的變數具有多種型別時(char/int/float),採用結構體整體寫入和讀取的思路,不需要考慮結構體對齊; 

2:動態申請100個位元組大小的buff,認為buff等同於flash、e2p中的一段儲存; 

3:將flash_1中需要儲存的元素整體寫入flash,然後從flash中讀取sizeof(flash)大小的資料賦值給flash_2,最終列印flash_2元素驗證; 

4:write_buff、read_buff函式引數中源位址和目標位址須是char型變數,因為是取位址(指標),位址作為實參時,指標所指的資料型別被強制轉換成char型,才能和flash中資料儲存形式一致; 

5:此**在ubuntu10.04上驗證;

#include #include typedef  struct

flash;

void write_buff(unsigned char *des_addr,unsigned char *source_addr,int cnt)

}void read_buff(unsigned char *des_addr,unsigned char *source_addr,int cnt)

}int main()

char *buff = malloc(100);

write_buff(buff,&flash_1.i,sizeof(flash));

read_buff(&flash_2.i,buff,sizeof(flash));

printf("%d %d %f\r\n",flash_2.i,flash_2.j,flash_2.k);

for(;j<3;j++)

printf("\r\n");

}}

結構體型別,變數

二學結構體 結構體型別定義 結構體是一批資料結合而成的新資料的型別。組成的結構型資料可以有不同的資料型別 一般形式 struct 結構體名 如 struct student tips 1.注意括號後的分號必不可少 2.結構體名必須符合識別符號的命名規則。3.成員名有 指標型 有 n 陣列型 結構體變...

指向結構體型別變數的使用

指向結構體型別變數的使用 首先讓我們定義結構體 struct stu 再定義指向結構體型別變數的指標變數 struct stu p1,p2 定義指標變數p 1 p 2,分別指向結構體型別變數。引用形式為 指標變數 成員 例7 2 對指向結構體型別變數的正確使用。輸入乙個結構體型別變數的成員,並輸出。...

和結構體 結構體型別與結構體變數

結構體 struct 是由一系列具有相同型別或不同型別的資料構成的資料集合,叫做結構體。在c語言中,結構體 struct 指的是一種資料結構,是c語言中聚合資料型別 aggregate data type 的一類。結構體可以被宣告為變數 指標或陣列等,用以實現較複雜的資料結構。結構體同時也是一些元素...