首頁  >  文章  >  後端開發  >  c語言結構體類型變數在程式運行期間怎麼樣

c語言結構體類型變數在程式運行期間怎麼樣

青灯夜游
青灯夜游原創
2021-01-30 14:06:1110333瀏覽

c語言結構體類型變數在程式運行期間,所有的成員一直駐留在記憶體中。原因:結構體類型的變數在程式運行期間要作為一個整體佔用連續的記憶體單元。

c語言結構體類型變數在程式運行期間怎麼樣

本教學操作環境:windows7系統、c99版本、Dell G3電腦。

c語言結構體類型變數在程式運行期間,所有的成員一直駐留在記憶體中。

C語言 結構體(Struct)

在C語言中,可以使用結構體(Struct)來存放一組不同類型的數據。結構體的定義形式為:

struct 结构体名{
    结构体所包含的变量或数组
};

結構體是一種集合,它裡麵包含了多個變數或數組,它們的類型可以相同,也可以不同,每個這樣的變數或陣列都稱為結構體的成員(Member)。請看下面的範例:

struct stu{
    char *name;  //姓名
    int num;  //学号
    int age;  //年龄
    char group;  //所在学习小组
    float score;  //成绩
};

stu 為結構體名,它包含了 5 個成員,分別是 name、num、age、group、score。結構體成員的定義方式與變數和陣列的定義方式相同,但無法初始化。

注意大括號後面的分號;不能少,這是一完整的語句。

結構體也是一種資料類型,它由程式設計師自己定義,可以包含多個其他類型的資料。 (如c語言相關的基礎知識,可以參考:《c語言教學影片》)

像int、float、char 等是C語言本身提供的資料類型,不能再進行分拆,我們稱之為基本資料型態;而結構體可以包含多個基本型別的數據,也可以包含其他的結構體,我們稱之為複雜資料型態或建構資料型態。

結構體變數

既然結構體是一種資料類型,那麼就可以用它來定義變數。例如:

struct stu stu1, stu2;

定義了兩個變數 stu1 和 stu2,它們都是 stu 類型,都由 5 個成員組成。注意關鍵字struct不能少。

stu 就像一個“模板”,定義出來的變數都具有相同的性質。結構體也可以比喻為“圖紙”,將結構體變數比喻為“零件”,根據同一張圖紙所產生的零件的特性都是一樣的。結構體類型的變數在程式運行期間要作為一個整體佔用連續的記憶體單元。

你也可以在定義結構體的同時定義結構體變數:

struct stu{
    char *name;  //姓名
    int num;  //学号
    int age;  //年龄
    char group;  //所在学习小组
    float score;  //成绩
} stu1, stu2;

將變數放在結構體定義的最後即可。

更多程式相關知識,請造訪:程式設計入門! !

以上是c語言結構體類型變數在程式運行期間怎麼樣的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn