c語言結構體知識點

2021-10-10 01:09:57 字數 1831 閱讀 9738

一、結構體和共用體以或使用者定義型別

如:typedef 型別名 識別符號;

typedef

int integer

該語句把ineger說明成了乙個int 的型別名,在此說明之後,可以用識別符號integer來定義整型變數

例如:ineger a;

等價於int a;

例如:typedef

char

*charp

charp p;

等價於char

*p;

二、說明乙個新的型別名的具體步驟:

char p 到 char charp;

再到 typedef char*charp;

四、結構體型別的說明

①結構體型別的說明

struct 結構體標誌名 //如:struct student

(1)struct 是關鍵字,是結構體型別的標誌。

(2) ***結構體標誌名***和***結構體成員名***都是使用者定義的識別符號

其中***結構體標誌名***是可選項,在說明中可以不出現的,每個結構體成員名錶中都可以有多個同類 型 的成員名,他們之間可以用逗號隔開,

(3)結構體中的成員名可以和程式中對的其他變數同名;不同結構體中的成員也可以同名

(4)結構體說明要以分號結尾。

例如我們關於日期的說明可以如下:

struct date

;

②關於上述學生檔案的結構體型別可以說明結構體的巢狀如下:

struct student

birthday;//這個體現了結構體的巢狀

flaot sc[4]

;};

五、四種方式去定義結構體型別的變數,陣列和指標變數

(1)緊跟在結構體型別名說明進行定義

①例如:

struct student

std ,pers[

3], *pstd;

struct

std ,pers[

3] ,*pstd;

③先說明後定義

struct student

;struct student std ,pers[

3], *pstd;//

總結:先說明後定義,說明時不能省略結構體標誌名如student,必須用關鍵字struct和student一起來定義

typedef

struct

str;

str std ,pers[3]

,*pstd;

注意此處str是乙個具體的結構體型別名,他能夠唯一的標誌這一種結構體型別名,因此,可以用來定義變數,如同使用int char一樣,不用寫關鍵字struct。

六、

①給結構體變數賦值初值

struct student

std =

;//先說明結構體然後定義了乙個結構體變數。

struct bookcartb

=,};

為b[0],為b[1]

struct

arr[2]

[3]=

,,},

,};

C語言知識點 結構體

郝斌老師講解問題的四 寶 為什麼需要a 什麼是a 怎麼用a 使用a需要注意哪些問題 為了表示一些複雜的事物,而普通的基本型別無法滿足實際要求 舉個例子 乙個學生有 int age float scrore char 三個屬性,定義乙個學生可以使用 int student1age 10 float s...

c語言結構體知識點

一 strlen和sizeof的區別 include include main 答案為6和5.注意這個字串的長度用strlen來求的話,我們就不用算後面的 0,但是用sizeof來算的話就要算入 0.0 ascii不為0,但是 0 的為空值。字元賦值 char sp,s 10 如果是sp hello...

結構體知識點總結

對於結構體的知識點,我主要分為以下幾點來講解 結構體的宣告 結構體型別的建立 結構體成員的訪問 結構體的初始化 結構體內存對齊 位段。1.結構體的宣告 struct stu 分號不能丟2.結構體型別的建立 有兩種建立的方法,第一種 struct stu struct stu s1 定義了乙個結構體變...