C語言之總結篇 04 結構體

2021-06-22 20:23:26 字數 1403 閱讀 9006

---------------------- 

asp.net+unity開發

、.net培訓

、期待與您交流! ----------------------

當乙個整體由多個陣列構成時,我們可以用陣列來表示這個整體,但是陣列有個特點:內部的每乙個元素都必須是相同型別的資料。

但是,在我們實際應用中,通常都需要用不同型別的資料來構成乙個整體。比如學生這個整體,可以由姓名、年齡、身高等資料構成。姓名可以是字串,年齡可以是整形,身高可以是浮點型。

為此,c語言專門提供了一種構造型別 —— 結構體,來解決上面的問題。它允許內部的元素是不同型別的。

結構體內部的元素,我們一般稱為「成員」。

struct 結構體名;

struct是關鍵字,是結構體型別標誌。

比如上面的,我們定義乙個學生:

struct student ;

定義結構體變數的方式有很多種。

先定義結構體型別,再定義變數:

struct student ;

struct student stu;

定義結構體型別的同時定義變數:

struct student stu;

我們也可以直接定義結構體型別變數,省略型別名:

struct   stu;

而且,結構體的內部是可以包含別的結構體的:

struct date ;

struct student ;

有一點需要注意:定義結構體型別,只能說明了該型別的組成型別,並沒有給他分配儲存空間,就像系統不會給int型別本身分配儲存空間一樣,只有當定義屬於結構體型別的變數時,系統才會分配儲存空間給該變數。

結構體變數占用的記憶體空間是其成員所佔記憶體之和,而且各成員在記憶體中按定義的順序依次排列的。

如何初始化結構體呢?

struct student ;

struct student stu = ;

這裡需要注意的是:只能在定義變數的同時進行初始化賦值,初始化賦值和變數的定義不能分開:

//struct student stu;

//stu = ;

這樣的做法是錯誤的。

結構體的使用:

struct date ;

struct student ;

struct student stu;

stu.birthday.year = 1986;

stu.birthday.month = 9;

stu.birthday.day = 10;

一般我們可以連續使用運算子" . "來訪問最低一級的變數。

---------------------- 

asp.net+unity開發

、.net培訓

、期待與您交流! ----------------------

C語言之結構體

一 什麼是結構體 結構體是不同型別的資料組合成乙個有機整體。例如 學生的學號 姓名 性別 成績 位址 這些都是乙個學生的屬性,把這些屬性組織成乙個組合,組合中包含不同的資料型別,c和c 允許指定這樣的資料型別,稱為結構體。struct student 申明乙個結構體型別 struct是結構體申明的關...

C語言之結構體

在c語言中,可以使用結構體 struct 來存放一組不同型別的資料。結構體的定義形式為 struct 結構體名 結構體是一種集合,它裡面包含了多個變數或陣列,它們的型別可以相同,也可以不同,每個這樣的變數或陣列都稱為結構體的成員 member 請看下面的乙個例子 struct stu stu 為結構...

C語言之結構體

在c語言中,有一種型別聽著很任性,叫做自定義型別。顧名思義,這種型別是程式設計師自己定義的一種型別,它和陣列很相似,但也有一些區別。自定義型別包含以下幾種 結構體 列舉 聯合 結構體就是將具有不同或相同的型別放在一起的聚合型別。可能聽著有些像順口溜,上一段 捋一捋。struct peo a 在 中我...