構造資料型別:構造資料型別是根據已定義的乙個或多個資料型別用構造的方法來定義的。 也就是說,乙個構造
型別的值可以分解成若干個「成員」或「元素」。每個「成員」都是乙個基本資料型別或又是乙個構造型別。
在c語言中,構造型別有以下幾種:
陣列型別
結構體型別
共用體(聯合)型別
結構體是一種構造型別,它是由若干「成員」組成的。每乙個成員可以是乙個基本資料型別或者又是乙個構造型別。
結構體可以把功能相同的資料組織起來,存在一起,用的時候方便,而且在呼叫函式時,若傳遞引數較多,傳乙個結構體相對而言簡單一些,很多系統自帶的函式必須用結構體。
定義乙個結構的一般形式為:
struct 結構名
;//定義乙個學生的結構
struct stu
;
成員表列由若干個成員組成,每個成員都是該結構的乙個組成部分。對每個成員也必須作類 型說明,其形式為:
型別說明符 成員名;
成員名的命名應符合識別符號的書寫規定。
成員訪問採用「點語法」,一般形式為:**結構變數名.成員名**,例如:stu1.name,stu2.***。
針對不同的定義和初始化方式,我認為應該根據需要選取適當地方式,個人感覺把結構體定義成全域性的結構體,何時需要何時宣告結構體變數並初始化比較好,值得注意的是匿名結構體必須在定義結構體的同時宣告結構體變數。
結構體是用來說明乙個事物各個屬性的一種資料結構,那麼當我們需要用到某個事物的集合的時候,理所應當就會利用到陣列了,比如乙個班的學生,乙個工廠裡地工人就分別是學生結構體變數陣列和工人結構體變數陣列,那麼結構體陣列怎樣定義呢?
陣列的元素也可以是結構型別的。因此可以構成結構型陣列。結構陣列的每乙個元素都是具有相同結構型別的下標
結構變數。在實際應用中,經常用結構陣列來表示具有相同資料結構的乙個群體。如乙個班的學生檔案,乙個車間
職工的工資表等。
定義格式:
struct 結構名
陣列名[陣列長度];
- 1)定義結構體的同時,定義陣列
- 2)先定義結構體,後定義陣列
利用結構體實現簡單地通訊錄功能。
要求:定義乙個結構體,包含姓名、**號碼,由使用者錄入,錄入完成後,輸出所有錄入的聯絡人。
例項**如下:
總結:結構體個人感覺很像是類的雛形,也能夠描述一類事物的各種屬性,但是類顯然要比結構體強大的多,結構體沒有行為,只有屬性,也不能像類一樣有繼承、多型等等物件導向特性,但是學好結構體確實能為後面更深入的理解類打好基礎。
iOS概念入門學習 C語言 指標
概述 本文簡要介紹了指標的概念 定義方法和簡單地應用,指標是乙個十分複雜的工具,還包含各種類別,如 字串指標 結構體指標 函式指標等,此文僅只作入門而已。提起指標的意義,不得不說到變數的訪問方式,變數的訪問方式分為兩種 直接訪問和間接訪問。如下圖 直接訪問 變數的賦值和取值 通過變數名進行訪問值 間...
iOS概念入門學習 C語言 字串
概要 本文介紹了字串的概念 定義方法和常用的函式,並用例項加以串聯以說明字串的用法。字串是位於雙引號中的字串行。字串即字元陣列。在記憶體中以 0 結束,所佔位元組比實際多乙個 注意 1.可以把乙個字元常量賦給乙個字元變數,但不能把字串常量賦給字元變數 2.c語言中沒有字串變數,可以用字元陣列來存放字...
iOS入門(九)結構體
結構體是一種構造型別。結構體定義 struct point 可在分號前加變數名表列。typedef struct point mypoint struct size printf n 空心矩形無座標 void juxing myrect rect for int i 0 i rect size he...