c語言之結構 struct

2021-08-11 03:22:27 字數 1064 閱讀 4542

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,...