C語言結構體(3) 結構體定義變量及初始化

       當我們定義了結構體類型之後,可以使用結構體類型來定義變量,定義變量的格式的方式與基本數據類型定義變量一樣。假設我們定義瞭如下的結構體類型:

//定義結構體類型

struct reader

{

    //定義結構體的成員;

    char name[32];

    int age;

    int number;

};

       我們可以用該結構體類型來定義變量,如下:

struct reader r1; //定義結構體變量

       那麼,我們可以在定義結構體變量的時候,對其進行初始化,如下:

//定義結構體變量, 並初始化;

struct reader r1 = {"www123", 100, 199};

       完整的測試例子如下:

       程序運行結果如下:

       可以看到,我們在定義變量r1的時候,在後面接着賦值運算符“=”,然後,接着需要賦值的數據。在大括號中存放賦值的數據,每個數據之間是有逗號“,”分隔開。

       我們還可以在定義結構體類型的時候就定義變量,同時對其進行初始化,如下:

//定義結構體類型

struct reader

{

    //定義結構體的成員;

    char name[32];

    int age;

    int number;

}r1, r2;

       此時,在定義struct reader結構體類型的時候,同時定義了變量r1和r2。而且,可以在定義變量的時候初始化,如下:

//定義結構體類型

//定義結構體類型

struct reader

{

    //定義結構體的成員;

    char name[32];

    int age;

    int number;

}r1 = {"AAABBB", 99, 886}, r2 = {"www123", 100, 199};

       此時,定義struct reader結構體類型的時候,定義了變量r1和r2,而且,給變量r2初始化數據。程序測試代碼如下:

       程序運行結果如下:

       可以看到,我們在定義sruct reader結構體類型的時候,定義了變量r1和r2,並且對它們進行了初始化。

       在定義結構體類型的過程中,我們可以省略“結構體類型名”,但是,這樣定義的結構體類型就沒有名稱了,只能夠在定義結構體類型的時候定義變量。例如:

//定義結構體類型

struct

{

    //定義結構體的成員;

    char name[32];

    int age;

    int number;

}r1, r2 = {"www123", 100, 199};

       此時,定義了一個結構體類型,但是,該結構體類型沒有名稱,所以,只能夠在定義結構體的時候,定義變量。可以在定義變量的時候進行初始化。這種結構體定義類型的方式不是很推薦使用,我們只需要知道有這樣的定義方式就可以了。在寫代碼的時候,我們都更應該給每個變量有一個明確、準確的類型名稱。可以通過類型名稱和變量名稱,都可以知道定義這個類型和變量的一樣。這樣的代碼纔是優秀的代碼。

更多的交流可以訪問:www.mylinux.vip   加QQ:1523520001,微信:13926572996,備註:linux編程;
學習、分享更多的linux C/C++ 編程知識。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章