一、結構體和共用體以或使用者定義型別
如: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 定義了乙個結構體變...