C數組允許存儲同一種數據類型的變量,結構體是C允許用戶自定義的數據結構,用來存儲多個不同數據類型變量。
結構用於表示一條記錄,假設您想要跟蹤圖書館中書本的動態,您可能需要跟蹤每本書的下列屬性:
- Title
- Author
- Subject
- Book ID
定義結構
爲了定義結構,您必須使用 struct 語句。struct 語句定義了一個包含多個成員的新的數據類型,struct 語句的格式如下:
struct tag { member-list member-list member-list ... } variable-list ;
tag 是結構體標籤。
member-list 是標準的變量定義,比如 int i; 或者 float f,或者其他有效的變量定義。
variable-list 結構變量,定義在結構的末尾,最後一個分號之前,您可以指定一個或多個結構變量。
舉例:
struct {
int a;
double b;
char c;
}s1;
struct { } 是一個數據結構,類型與int,char。上面的代碼聲明瞭含有三個元素的結構體,並且聲明瞭結構體變量s1。
struct SIMPLE
{
int a;
char b;
double c;
};
/此聲明聲明瞭擁有3個成員的結構體,分別爲整型的a,字符型的b和雙精度的c
//結構體的標籤被命名爲SIMPLE,沒有聲明變量
//用SIMPLE標籤的結構體,另外聲明瞭變量t1、t2、t3 struct SIMPLE t1, t2[20], *t3;
struct SIMPLE t1, t2[20], *t3;
//也可以用typedef創建新類型,可以用Simple2作爲類型聲明新的結構體變量 Simple2 u1, u2[20], *u3;
typedef struct {
int a;
double b;
char c;
}Simple3;
Simple3 s1,s2,s3;
typedef用來定義新的數據類型,將struct{}用Simple3來表示,所以可以用Simple3對s1,s2,s3聲明。