C語言詳解 結構體

2021-09-05 20:57:39 字數 1424 閱讀 6583

1. 什麼是結構體?

結構體是一種工具,用這個工具可以定義自己的資料型別。

2. 結構體與陣列的比較

(1) 都由多個元素組成

(2) 各個元素在記憶體中的儲存空間是連續的

(3) 陣列中各個元素的資料型別相同,而結構體中的各個元素的資料型別可以不相同

3. 結構體的定義和使用

(1) 一般形式

struct

結構體名;

struct

student;

(2) 定義結構體型別的變數、指標變數和陣列

方法一:定義結構體型別時,同時定義該型別的變數

struct

[student] 

/*[ ]表示結構體名是可選的 

*/stu1, 

*ps, stu[

5]; 

/*定義結構體型別的普通變數、指標變數和陣列 */

方法二:先定義結構體型別,再定義該型別的變數

struct

student

;struct

student stu1, 

*ps, stu[

5]; 

/*定義結構體型別的普通變數、指標變數和陣列 */

方法三:用型別定義符typedef先給結構體型別命別名,再用別名定義變數

typedef 

struct

[student]

stu;

stu stu1, 

*ps, stu[

5]; 

/*用別名定義結構體型別的普通變數、指標變數和陣列 */

(3) 給結構體變數賦初值

struct

[student]

stu[2]

=, }; 

(4) 引用結構體變數中的成員

1) 結構體變數名.成員名:

stu1.name

2) 結構體指標變數

à成員名:psà

name

3) (*

結構體指標變數

).成員名:

(*ps).name

4) 結構體變數陣列名.成員名:

stu[0].name

4. 用結構體型別和基本資料型別定義變數的對比

結構體指標,C語言結構體指標詳解

結構體指標,可細分為指向結構體變數的指標和指向結構體陣列的指標。前面我們通過 結構體變數名.成員名 的方式引用結構體變數中的成員,除了這種方法之外還可以使用指標。前面講過,student1 表示結構體變數 student1 的首位址,即 student1 第乙個項的位址。如果定義乙個指標變數 p 指...

c語言的結構體詳解

什麼是結構體?簡單的來說,結構體就是乙個可以包含不同資料型別的乙個結構,它是一種可以自己定義的資料型別,它的特點和陣列主要有兩點不同,首先結構體可以在乙個結構中宣告不同的資料型別,第二相同結構的結構體變數是可以相互賦值的,而陣列是做不到的,因為陣列是單一資料型別的資料集合,它本身不是資料型別 而結構...

C語言 結構體使用詳解

我們都知道c語言中變數的型別決定了變數儲存占用的空間。當我們要使用乙個變數儲存年齡時可以將其宣告為int型別,當我們要使用乙個變數儲存某一科目的考試成績時可以將其宣告為float。那麼,當我們要做乙個學生資訊管理系統時,需要儲存學生的姓名 學號 年齡等資訊,該怎麼做呢?如當要儲存三個學生的資訊時,方...