C語言-結構體定義的幾種方式


若struct后面接的是名字,則其為該結構體的名稱。
第一種是最基本的結構體定義,其定義了一個結構體A。

struct A //第一種
{
   int a;
};

第二種則是在定義了一個結構體B的同時定義了一個結構體B的變量m。

struct B //第二種
{
   int b;
}m;

第三種結構體定義沒有給出該結構體的名稱,但是定義了一個該結構體的變量n,也就是說,若是想要在別處定義該結構體的變量是不行的,只有變量n這種在定義結構體的同時定義變量才行。

struct //第三種
{
    int c;
}n;

第四種結構體定義在第一種結構定義的基礎上加了關鍵字typedef,此時我們將struct D{int d}看成是一個數據類型,但是因為並沒有給出別名,直接用D定義變量是不行的。如D test;,不能直接這樣定義變量test。但struct D test;可行。

typedef struct D //第四種
{
     int d;
};

第五種結構體定義在第四種結構體定義的基礎上加上了別名x,此時像在第四種結構體定義中說得那樣,此時的結構體E有別名x,故可以用x定義E的結構體變量。用E不能直接定義,需要在前面加struct,如struct E test;。

typedef struct E //第五種
{
     int e;
}x;

第六種結構體定義在第五種的基礎上減去了結構體名,但是若是直接使用y來定義該結構體類型的變量也是可以的。如y test;。(常用)

typedef struct //第六種
{
     int f;
}y;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM