雪 C語言結構體總結七

2021-07-06 03:08:21 字數 1466 閱讀 7861

1.結構體 :是一種自定義的資料型別

宣告   struct  結構體名稱;

struct student 1;

對結構體變數的定義:

由結構體修飾的變數叫做結構體變數;

struct

struct  結構體名student1  變數名stu1 = ;

struct  結構體名student1  變數名stu2 = ;

輸出:變數名.成員名

printf(「學號 %d  姓名 %s 分數%.1f\n」,stu1.num,stu1.name,stu1.score);

printf("學號 %d姓名 %s分數 %.1f\n",stu2.num,stu2.name,stu2.score);

2.匿名結構體

結構體的宣告和變數定義結合在一起就叫做匿名結構體。

struct

st1 = ,

st2 = ,

st3 = ;

3.typedef 是為原有型別建立乙個型別別名

格式 typedef  原型別名  新型別名;

例如 (1) typedef  float  fudian;

fudian   a = 3.14;

printf("a = %.1f\n",a);

(2)結構體

typedef struct carcar; 呼叫

別名car 變數名car1 = ;

輸出:printf("car1為 %d %s %d\n",car1.tyer,car1.color,car1.speed);

4.結構體成員依然還可以是結構體

例如 typedef  struct  datemydate;

typedef struct student3stu; 呼叫

stu s1 = };

printf("姓名 %s  生日 %d %d %d\n",s1.name,s1.year,s1.month,s1.day);

5.結構體陣列

將多個結構體變數存放在陣列中,構成結構體變數。

練習2. 有5名學生儲存在 結構體陣列中,程式設計查詢成績最高者,輸出該學生全部資訊;對上述5名學生陣列,按成績從高到低排序,並輸出。

typedef  struct student student;

student  studen[4] = ,,,};

int  temp = 0;

//判斷成績最高者;

for (int i = 0; i < 5  - 1;i++) }

//輸出成績最高者的資訊

printf("分數最高者為 %.1f\b",temp);

for(int i = 0;i < 5;i++) }

//對上述5名學生陣列,按成績從高到低排序,並輸出。

這個可以用氣泡排序。

for(int i = 0;i < 5 -1;i ++) }

}for(int i = 0;i , 5;i++)

C語言結構體總結

本文沒有提及結構體指標變數,另一篇對其進行了說明 戳這裡 struct 結構體名 上面是定義的結構體型別,可以說是乙個基礎。在定義結構體型別時,系統並不為結構體型別分配記憶體空間,只有當定義結構體型別的變數時,系統才為每乙個變數分配相應的儲存單元。方法一 首先定義結構體型別,再用結構體型別定義變數 ...

結構體總結

結構體總結 共用體 聯合體 1.乙個結構變數的所佔記憶體空間大小,一般大於或者等於結構中所有成員變數大小之和,成員變數在結構體記憶體空間按照定義的順序依次儲存。2.共用體是將幾種不同型別的變數存放在同一段記憶體單元中。3.語法形式 union 共用體名共用體變數名 4.共用體與結構體的定義形式相似,...

結構體總結

1.結構體的定義 結構體是一些值得集合,這些值稱為成員變數,結構體的每個成員可以是不同型別的變數。2.結構體的宣告 結構體的名稱盡量做到容易理解,結構體的名稱可以省略但是不建議省略 在結構體裡可以放任何合法的內容,結構體內容 member 不能為空,這是在c語言中的要求 結構體變數 variable...