結構體的定義

2021-09-29 05:55:29 字數 891 閱讀 3693

在c語言中,結構體(struct)指的是一種資料結構,是c語言中聚合資料型別(aggregate data type)的一類。結構體可以被宣告為變數、指標或陣列等,用以實現較複雜的資料結構。結構體同時也是一些元素的集合,這些元素稱為結構體的成員(member),且這些成員可以為不同的型別,成員一般用名字訪問。

結構體的定義如下所示,struct為結構體關鍵字,tag為結構體的標誌,member-list為結構體成員列表,其必須列出其所有成員;

//此宣告宣告了擁有3個成員的結構體,分別為整型的a,字元型的b和雙精度的c

//同時又宣告了結構體變數s1

//這個結構體並沒有標明其標籤

struct

s1;//同上宣告了擁有3個成員的結構體,分別為整型的a,字元型的b和雙精度的c

//結構體的標籤被命名為student,沒有宣告變數

struct student

;//也可以用typedef建立新型別

typedef

struct student2

stu2;

//現在可以用stu2作為型別宣告新的結構體變數student2

結構體的成員可以包含其他結構體,也可以包含指向自己結構體型別的指標,而通常這種指標的應用是為了實現一些更高階的資料結構如鍊表和樹等。

//結構體student包含其他的v結構體

struct bir

;struct stuent

;

結構體和其他型別基礎資料型別一樣,例如int型,char型別只不過結構體可以做成你想要的資料型別.方便日後的使用。

結構體在函式中的作用不是簡便,其最主要的作用就是封裝。封裝的好處就是可以再次利用。讓使用者不必關心這個是什麼,只要根據定義使用就可以了。

結構體的定義

關於c語言中結構體的幾種定義方式和它們之間的不同。1 先定義結構體型別,再定義結構體型別變數 struct 結構體名稱 struct 結構體名稱 結構體變數1,結構體變數2 struct 結構體名稱 結構體變數3,結構體變數4 用此結構體型別,可以定義更多的該結構體型別變數。2 定義結構體型別同時定...

結構體定義

struct在c語言中是乙個關鍵字,用於定義結構資料型別。問題中的兩種定義的區別在於第一種是給student資料型別,重新定義了乙個型別別名,而第二種則單純的表示一種叫做student的資料結構型別。兩者的主要區別在於後面直接定義變數時。如下 則可以直接在結構體後面定義乙個zhang san的結構體...

結構體定義的問題

在定義結構體的時候遇到了問題。之前自己習慣這樣去宣告變數 typedef struct student student stu 100 這裡其實student是結構體的型別,還不是變數,真正的變數是stu,加typedef 為型別取了乙個別名為student。如果不用typedef,定義為 stru...