struct
結構就是建立乙個模板,類似於陣列,不過它可以擁有不同型別的變數,包括陣列
1,建立結構宣告
舉例:struct book{
char title[20];
char author[20];
float value;
其中struct是關鍵字,book是結構名,裡面的titlt,author,value是擁有的變數
2,定義結構變數
struct book library;
它的意思是建立乙個結構和book相同的名字叫library的結構體;
如果你覺得寫變數名太累了,參考陣列用法
struct book library[20];
ok,你一下子擁有了20個結構和book相同的結構體;
struct book *ptbook;
(表面這是乙個訪問book結構的型別的指標,指標名叫:ptbook);
3,訪問結構成員
1,一般訪問
library.value
(你把它當乙個變數處理,它代表的library這個結構體的value部分,注意中間有個.)
2.利用指標訪問
(*ptbook).value
(注意你要提前把指標賦值,如ptbook=&library;)
ptbook->value
4,將結構內容儲存到檔案中
fwrite(&library,sizeof(struct book),1,pbooks);
定位到library結構變數開始的位置,並把結構中所有的位元組都拷貝到與pbooks相關的檔案中。sizeof(struct book)告訴函式待拷貝的一塊資料的大小,1 表明一次拷貝一塊資料。至於pbooks的理解
結合下面
file *pbooks;(file主要用來定義帶緩衝的檔案指標)
pbooks=fopen("book.txt","a+b");(以「a+b」的模式開啟檔案book.txt。a+部分允許程式讀取整個檔案並在檔案的末尾新增內容。b是
ansi的一種表示方式,表明程式將使用二進位制檔案格式。對於不接受b模式的unix系統,可以省略b。
C語言之結構體 struct 詳解
目錄 原有的資料型別不能滿足需求,因此才設計了構造型別結構體 struct name 1.無名構造型別 2.有名構造型別 程式設計客棧 struct swww.cppcns.comtudent stu struct student stu2 3.別名構造體型別 typedef struct stud...
C語言之struct結構體內存分配
實驗使用sizeof關鍵字測量結構體大小的規則 查資料得到的規則如下 原則1 資料成員對齊規則 結構 struct或聯合union 的資料成員,第乙個資料成員放在offset為0的地方,以後每個資料成員儲存的起始位置要從該成員大小的整數倍開始 比如int在32位機為4位元組,則要從4的整數倍位址開始...
基礎C語言之Typedef和struct的結合使用
c語言typedef關鍵字 typedef 作為c語言中常見的關鍵字,用法有多種,經常用來改變或者說給一種型別另取乙個名字 include int main n1,n2,n3,narray 10 struct結構體關鍵字用來宣告乙個結構體型別 若在結構體後邊有字串例如上邊這個例子 則代表n1,n2,...