c部落格06 結構體 檔案

2022-05-04 07:18:08 字數 3266 閱讀 4536

結構的定義

定義乙個結構的一般形式為:

struct 結構名

成員表由若干個成員組成,每個成員都是該結構的乙個組成部分。

對每個成員也必須作型別說明。

例如:

struct stu

說明結構變數有以下三種方法。以上面定義的stu為例來加以說明。

1.先定義結構,再說明結構變數。 如:

struct stu

;struct stu boy1,boy2;

說明了兩個變數boy1和boy2為stu結構型別。

也可以用巨集定義使乙個符號常量來表示乙個結構型別, 例如:

#define stu struct stu

stu;

stu boy1,boy2;

2.在定義結構型別的同時說明結構變數。例如:

struct stu

boy1,boy2;
3.直接說明結構變數。

例如:

struct

boy1,boy2;

成員賦值:

struct student

st1=;

struct student  st2,st3; 

st2.num=199;

st2.age=19;

st2.name="lisi";

結構體定義並不是定義乙個變數,而是定義了一種資料型別,這種型別是你定義的,它可以和語言本身所自有的簡單資料型別一樣使用(如 int )。

結構體本身並不會被作為資料而開闢記憶體,真正作為資料而在記憶體中儲存的是這種結構體所定義的變數。

結構體變數的大小:這是由這種結構體型別的定義決定的,結構體是由多個成員組成,可以想象為了同時儲存結構體的每乙個成員,那麼結構體變數的儲存大小,就應該是所有分量的儲存空間的總合。

—————————————————————————————————————————————

選擇法

for 0 to n-1

min=i;

for i+1 to n

if 比較資料

更換位置

end if

end for

end for

冒泡法

for 1 to n//迴圈數為i

for 0 to i-1

if 比較資料大小

對換位置

end if

end for

end for

struct student stu;

stu s1=;

stu p; p=&s1;

可以用它訪問結構體成員:

(p).num=100; p->age=100;

—————————————————————————————————————————————

共用體定義與引用

union 共用體名

變數表列;

共用體名.共用體成員

1.共用體變數所佔記憶體長度等於最長的成員的長度

2.共用體變數起作用的成員是最後一次存放的成員

3.共用體變數的位址和它各個成員的位址是同乙個位址

列舉型別

宣告方式

enum weekday;//宣告列舉型別weekday

enum weekday d1,d2; //定義列舉變數,d1,d2的值僅限於列舉型別weekday列舉的值的範圍

while(!feof(fp))                     //讀取一組資料後指標指向下一組資料,並且判斷是否指向最後一行 

j=i;

for(i=0;i方式 含義

"r" 開啟唯讀檔案

"w" 建立只寫新檔案

"a" 開啟新增寫檔案

"r+" 開啟讀/寫檔案

"w+" 建立讀/寫新檔案

"a+" 開啟讀/寫新檔案

感覺沒學習乙個新的章節都是一片新的天地,真正理解了c語言的真的是浩如煙海,這次學習的結構體,又再次顛覆了以前寫**的習慣,但每次的改變都好像讓我們的程式更加的完善,更加的清晰易懂。學習了這次的結構體,並且大多的是應用在多檔案的程式中的,我認為結構體是以後做程式的乙個變數的主要載體,因為不管是以後學習也好,工作也好,所需要的變數肯定不是單一的,數量肯定也不少。再者,多檔案程式設計在標頭檔案中也可以清晰的看出,我們所需要的變數是什麼,我們要幹什麼,都是很方便的。希望隨著越來越深入的學習,一步一步的提公升自己。

2.函式實現檔案介紹。

檔案1:main.c

檔案2:function.c

檔案3:menu.c

2.2.執行結果

首先,這次的大作業沒有做完整,很遺憾,每次大作業確實都能帶給我們很多,能收穫很多,這次的大作業是最複雜的一次,相當於是乙個小程式,而且如果能完整的坐下來的話,相當於把我們這個學期學的知識都複習了一遍,感覺每次完成乙個小函式並且找出自己的錯誤並且解決都能感覺到自己進步了,也會有一種自我滿足感,這一次我比以前多用了乙個改變字型顏色的函式和乙個清屏函式,其實c語言的函式庫裡面還是有很多我們意想不到的函式功能實現,其實認真去研究其實是很有意思的。希望下次看到進步的自己

c部落格06 結構體 檔案

struct 結構名 struct是定義結構型別的關鍵字,在struct之後,自行命名乙個結構名,它必須是乙個合法的c識別符號,struct與結構名兩者合起來共同組成結構型別名,如struct student 結構體的定義形式還有混合定義 struct 結構名 結構變數名1,結構變數名2 還有無型別...

c部落格06 結構體 檔案

struct 結構體名 賦值可不在這寫 因為結構體定義頻繁,需要乙個簡短的新變數名 typedef struct 結構體名 新變數名 struct student students n 或者利用typedef stu 然後用stu students n 對成員的引用方法students n 成員名 ...

C語言部落格作業06 結構體 檔案

學習了結構體和檔案,其實還是很實用的,通過對檔案的學習,可以用 對檔案進行修改,就像開啟了新世界的大門。從難度上看,結構體那一部分比較簡單,記住一些基本語法,大體上都能掌握。個人覺得,檔案那一部分裡,重點是要學習如何去使用那些檔案函式,函式內容也比較多,需要較多練習才能更好的鞏固。從目前個人掌握得情...