C語言基礎 結構體 共用體 列舉

2021-10-09 08:18:37 字數 975 閱讀 6118

struct 結構名;例:

struct student // 定義一種結構體型別

;第一種方式 struct 結構名 變數名;

例:struct student sam;//定義struct student型別變數sam

//注意struct student 結構體型別已經宣告定義,才能這麼使用(上面「2.宣告結構體型別」定義了該結構體型別)

第二種方式

struct 結構名

變數1,變數2;

例:struct student // 定義一種結構體型別

sam,lucy ; // 同時定義這種結構體型別的兩個變數

第三種方式

struct

變數名;

例:struct // 定義一種結構體型別(結構名省略)

sam,lucy ; // 同時定義這種結構體型別的兩個變數

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

結構體變數指標:指標變數->成員名 或者 (*指標變數).成員名

例:#include

struct student

;int main(void)

1)結構體變數的首位址是其最寬基本型別成員的整數倍

2)結構體每個成員相對於結構體首位址的偏移量,都是該成員大小的整數倍(對齊)

3)結構體的總大小是其最寬基本型別的整數倍(補齊)

union 共用體名

第一種方式 union 結構名 變數名;

第二種方式

union 結構名

變數1,變數2;

第三種方式

union

變數名;

例:union

;(1)由最大成員變數大小決定

(2)必須是最大基本型別的整數倍

列舉型別把所有可能取到的值一一枚舉出來 ,列舉出來的值叫做列舉常量

enum 列舉名;例:

enum weekday;

int main(void)

C 結構體 共用體 列舉

一 結構體 首先為什麼要使用結構體?比如說你要儲存乙個學生的資訊,包含 姓名 char 學號 int 成績 double 我們希望可以把這些資訊放在乙個單元中,陣列滿足不了這種要求,因為陣列中每個元素的型別是一樣的。所以我們就需要別外一種資料格式,以就是現在要說的結構體 結構體是由使用者自己定義的一...

C結構體 共用體 列舉

一 結構體三種定義方式 1 先宣告結構體型別,再定義變數名 struct student struct student student1,student2 2 在宣告型別的同時宣告變數 struct student student1,student2 3 直接定義結構體型別變數 struct stu...

c語言的結構體 共用體 列舉

struct s var struct s var1 結構體本身的開頭和結尾位址都是4位元組的整數倍 var2 結構體本身的開頭和結尾位址都是4位元組的整數倍 var3 結構體本身的開頭和結尾位址都是4位元組的整數倍 由此可見,元素的安放順序非常講究 offsetof type,member typ...