回覆列表
  • 1 # ullhs4503

    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,浮點型變數。 應注意在括號後的分號是必不可少的。

  • 2 # maimi32709

    結構體型別就是以struct關鍵字定義的資料型別。結構體(struct)是由一系列具有相同型別或不同型別的資料構成的資料集合,也叫結構。是一種聚合型別,裡面可以包含多種資料型別,甚至可以結構體裡巢狀結構體。相信我,等你深入理解了C言語之後,結構體在C語言裡是一個神器。C語言有五種基本資料型別:字元(char)、整型(int)、單精度實型(float)、雙精度實型(double)和空型別(void)。C語言還提供了幾種聚合型別(aggregate types),包括陣列、指標、結構體(struct)、共用體(聯合)、位域和列舉。結構體(Structure)是一個或多個相同資料型別或不同資料型別的變數集合在一個名稱下的使用者自定義資料型別。struct 結構體名,成員列表。因為有typedef關鍵字,PER實際上也就是結構體型別名,用PER可以直接定義變數。結構體定義的格式是struct 結構體名。

  • 中秋節和大豐收的關聯?
  • 阿瑪尼唇釉正品和仿品的區別?