黑馬程式設計師 C語言 結構體

2021-06-25 14:54:54 字數 1782 閱讀 8014

------- 

android培訓、ios培訓、期待與您交流!

----------

*** 結構體的作用 ***

結構體是一種構造型別,使用非常頻繁。

當我們需要把不同型別的資料構成乙個整體時,便會用到結構體了。

*** 結構體型別的定義 ***

注意:在函式裡面或者外面都可以定義(影響作用域為全域性型別或者區域性型別)。

舉例:struct person

;   //此時只是定義了乙個型別,並不分配儲存空間

*** 結構體變數的定義 ***

舉例:struct person per;

struct person是變數的型別,per

是變數的名稱。

*** 成員變數的賦值 ***

1、 struct person per = ;

2、 struct person per = ;

3、 struct person per;

per = ;  //錯誤

per.name = "haha";  per.age = 22;  //正確

*** 結構體型別的其餘定義方式***

1、 定義結構體型別的同時, 定義乙個結構體變數

struct student stu;       // 結構體定義就相當於int,這樣就相當於int stu;

stu.name = "mj"; stu.age = 27; stu.height = 1.80;

或者struct student stu = ;  // 可以直接賦值,相當於int s = 5;

這樣定義的結構體型別還可以繼續使用:

struct student stu2;

2、 如果只需要定義乙個變數,那麼結構體名可以省略,直接定義乙個結構體變數

struct stu = ;

這種情況就不能再定義其它同型別的變數了,只能定義乙個 。

*** 巢狀 ***

舉例:

struct date

;struct student

;

*** 結構體陣列 ***

舉例:

struct student 

a[2] = , };

也可以定義結構體型別和定義陣列分開:

struct student

;struct student a[2] = , {}}; // 定義乙個struct student型別的陣列

struct student b[2] = , {}};

注意:struct student就是乙個型別,它們是乙個整體。

*** 結構體指標 ***

舉例:

struct student 

;struct student *s; // 定義乙個struct student型別的指標

struct student stu = ; // 定義同種型別的結構體變數

s = &stu; // 指標指向同種型別的變數

使用結構體指標訪問成員,兩種方式:

(*s).age; // 相當於 stu.age ,括號不可以省略

s -> age; // -> 成員訪問符,通常使用這種方式

------- 

android培訓、ios培訓、期待與您交流!

----------

詳細請檢視:www.itheima.com

黑馬程式設計師 C語言 結構體 列舉

asp.net unity開發 net培訓 期待與您交流!定義乙個名為student的結構體,定義型別時系統並沒有為它分配記憶體 struct student 儲存的位址是連續的,按定義順序排 定義乙個結構體變數,此時系統為stu分配了記憶體 struct student stu 所有成員佔的儲存空...

黑馬程式設計師 c語言結構體介紹

結構體 構造型別 陣列 陣列 只能由多個相同型別的資料構成 結構體 可以由多個不同的型別的資料 結構體型別 結構體變數名 1.定義結構體型別 struct person 2.根據結構體型別,定義結構體變數 struct person p p為結構體變數 單獨賦值 p.age 30 p.name ro...

《黑馬程式設計師》 結構體struct (C語言)

數 組 只能由多個相同型別的資料組成 結構體 可以由多種不同型別的資料組成 練習 include int main 2.根據結構體型別,定義結構體變數 真正分配儲存空間 struct person p p.age 30 修改結構體元素的值 p.name rose printf age d,name ...