自定義型別(上)

2021-08-20 00:20:33 字數 1854 閱讀 2544

結構體是一些值的集合,這些值稱為成員變數,每個成員可以是不同的型別。

strut tag

variable_list;

例如描述乙個學生的資訊

struct stu

;//分號不能丟

例:匿名結構體型別

struct x;
結構體的成員可以是標量、陣列、指標、甚至是其它結構體

結構體成員訪問

struct 

;struct stu s;//定義結構體變數

訪問結構體成員用以下的方法

struct s s;

strcpy(s.name,"zhangsan");//訪問name成員

s.age=20;//訪問age成員

struct s

s;//定義結構體變數

void print(stuct s* ps)

struct node

;

typedef

struct node

node;

struct b;

struct a

;struct b

;

struct point //型別宣告

p1;//宣告型別的同時定義變數p1

struct point p2;//定義結構體變數p2

//初始化:定義變數的同時賦初值

struct stu //型別宣告

;struct stu s = ;//初始

計算結構體大小

例:

int main()

結構體對齊規則

###結構體傳參

struct s

;struct s s = ,1000 };

//結構體傳參

void print1(struct s s)

//結構體位址傳參

void print2(struct s* ps)

int main()

結構體傳參時要傳位址原因是:函式傳參是需要壓棧,當傳遞結構體物件時,如果乙個結構體過大,引數壓棧時系統開銷過大,導致效能下降。

int main()

; printf("%d\n", sizeof(struct a));//位段a的大小是8

system("pause");

return

0;}

自定義型別

typedef型別 typedef 已有型別 新建型別 示例 typedef double area,volume typedef int number number i1 area a enum enum 列舉型別名 enum week 預設sun 0,可以比較 如果修改必須形如enum week...

自定義型別

下面列舉幾種c語言中常用的自定義資料型別 1.結構體型別 當描述乙個整型變數時,可以用int,描述字元型變數時,可以用char,但要描述乙個學生時,因為這個學生包含的資訊很多,比如姓名,性別,年齡等,不能通過單一的型別來描述,所以,這裡引入結構體型別,將某個事物的共有屬性集合在一起,宣告乙個結構體型...

自定義型別

列舉從字面意思理解就是將可能取的值一一枚舉出來,列舉型別沒有成員 可言,裡邊存放的是可能取值。列舉型別的定義 enum day enum color printf d n red printf d n green printf d n blue 執行結果 day和color都是定義的列舉型別,中的內...