C語言結構體

2021-08-21 14:18:54 字數 762 閱讀 6921

1.c語言基本型別:字元型,整型,浮點型

2.結構體(複雜型別):自定型別

3.定義變數:為了分配空間

型別     變數名;   注:分配空間編譯器通過型別來分配

初始化:定義變數時同時符初始值

3.1定義結構體(自定義)的型別

struct 型別名

;3.1.1無巢狀結構體:所有屬性都是基本型別

定義人的型別:人的資訊(姓名,姓別,身高)

struct people

;​

3.1.2巢狀結構體:屬性是乙個結構體變數

struct people

;

3.2定義結構體變數:型別 變數名;

struct 型別名 變數名;

3.3引用結構元素:一定要通過結構體變數來引用屬性。

.運算子 :引用複雜型別的成員

變數名.屬性; 

3.4結構體的分配空間法則:以最大字元素位元組對齊    (*)

1、查詢最大元素的型別

2、每個元素都分配以最大型別的最小的倍數。

3、共享空間?

注:gcc編譯器可以指定對齊方式(這不是c語言的標準)

__attribute__((packed))(了解一下)

3.5結構體變數之間賦值:   注:同型別之間,不同型別的結構體是不能賦值的

struct people a,b;

a=b;

C語言結構體

1.1.1 結構概念 1 結構存在的意義 存在是合理的,許多事物的存在是在不斷解決問題引入的,當然有更好的方法出現時改變也是合理的。在實際問題中,一組資料往往具有不同的資料型別。例如,在學生登記表中,姓名應為字元型,學號可為整型或字元型,年齡應為整型,性別應為字元型,成績可為整型或實型。顯然不能用乙...

C語言 結構體

宣告乙個結構體型別 struct 結構體名 成員表列 定義結構體變數的方法 1 先宣告結構體型別再定義變數名。在定義了結構體變數後,系統會為之分配記憶體單元.例如 struct student student1,student2 2 在宣告型別的同時定義變數,例如 struct 結構體名 成員表列 ...

c語言 結構體

1 定義結構體 c語言允許使用者自己建立不同型別資料組成的組合型的資料結構 struct 結構體名 1 結構體的型別不是只有一種,可以根據需要設計許多種,如struct student struct worker等 2 結構體的成員可以是另一結構體的成員,注意的是引用此成員的方式 2 定義結構體變數...