回覆列表
  • 1 # 使用者1465424935672

    struct在C語言中是一個關鍵字,用於定義結構資料型別。

      問題中的兩種定義的區別在於第一種是給student資料型別,重新定義了一個類型別名,而第二種則單純的表示一種叫做student的資料結構型別。兩者的主要區別在於後面直接定義變數時。如下程式碼,則可以直接在結構體後面定義一個zhang_san的結構體變數。

    struct student

    {

    int num;

    struct student *next;

    }zhang_san;

      而第一種的定義,則會出現錯誤。

    typedef struct student

    {

    int num;

    struct student *next;

    }student zhang_san;

      

    擴充套件:

      “結構”是一種構造資料型別,現在一般叫做使用者自定義資料型別,它是由若干“成員”組成的。 每一個成員可以是一個基本資料型別或者又是一個構造型別。 結構即是一種“構造”而成的資料型別, 那麼在說明和使用之前必須先定義它,也就是構造它。如同在說明和呼叫函式之前要先定義一樣。

      定義一個結構的一般形式為:

    struct結構名

    {

    //成員表列

    };

      成員表由若干個成員組成, 每個成員都是該結構的一個組成部分。對每個成員也必須作型別說明,其形式為:“型別說明符 成員名;”。成員名的命名應符合識別符號的書寫規定。例如:

    struct stu

    {

    int num;

    char name[20];

    char sex;

    float score;

    };

      在這個結構定義中,結構名為stu,該結構由4個成員組成。 第一個成員為num,整型變數;第二個成員為name,字元型陣列;第三個成員為sex,字元型變數;第四個成員為score,浮點型變數。 應注意在括號後的分號是必不可少的。

  • 中秋節和大豐收的關聯?
  • 夢見大象向一個地方噴火,怎麼解釋?