前面總結過,C語言中的基本數據類型有四種,分別是整型、浮點型和字符型;後面又講到可以保存字符串的字符數組。但這遠遠不夠實際應用的需要。
01問題引入
問題一:基本數據類型無法滿足應用需要
比如:我們要保存一個學生的資料,包括:學號、姓名、年齡、地址等信息。注意:這個學生信息是一個整體,用前面學到的基本數據類型是無法實現的。
有沒有一種學生的數據類型可以使用?系統沒有定義,就只能自行設計了。這就是本文要總結的第一個核心知識點:結構體。
在C語言中結構體是對數據類型的無限擴展。程式設計師可以根據需要定義各種各樣的數據類型,即:結構體。
問題二:數據無法永久保存
前面我們編寫運行的所有C語言程序,或多或少都會輸入一些數據。但是,當關閉程序後,這些數據就沒有了,下次運行還需要輸入同樣的數據。有沒有可以永久保存數據的方式?
有,一種是通過資料庫,另外一種就是通過文件永久保存數據。文件操作將是本文要總結的第二個核心知識點,將程序中的數據永久保存到磁碟上,方便下次讀寫操作。
02結構體
結構體也是二級考綱中的內容。同時,結構體與數組可以構成結構體數組,與指針可以組成結構體指針。在知識難點上又上了一個檔次,需要將前面所學的知識融合在一起理解並綜合應用。需要同學們強化練習,對每一個知識點都能透徹理解。
結構體是一種構造類型,由若干成員組成。每一個成員可以是一個基本數據類型,也可以是構造類型(即:嵌套結構體)。
一、定義結構體
當現有的數據類型不能滿足實際需要時,就需要自行來定義一個全新的數據類型,也就是設計一個數據類型的藍圖。在定義結構體時,它其實並不佔據內存空間。定義結構體的方式有很多種。比如:
方式一:

關鍵詞struct開頭,包含:結構體名稱student,一對大括號,別忘了最後大括號後面一定要有一個分號(;)表示結束。