 什么是結構體
							時間(jian):2019-05-24      來源:華清遠(yuan)見(jian)
							什么是結構體
							時間(jian):2019-05-24      來源:華清遠(yuan)見(jian) 
							1. 什么是結構體?
結構(gou)體是一(yi)種工(gong)具,用這個工(gong)具可以定(ding)義(yi)自己的(de)數據類型。
2. 結構體與a數組的比較
(1) 都由多個元(yuan)素(su)組成
(2) 各個(ge)元素在(zai)內(nei)存中的(de)存儲空間是連續的(de)
(3) 數組中(zhong)各個元(yuan)素(su)的(de)數據類型相(xiang)同,而結構體中(zhong)的(de)各個元(yuan)素(su)的(de)數據類型可以不(bu)相(xiang)同
3. 結構體的定義和使用
(1) 一般形式(shi)
struct 結構體名
{
類(lei)型名(ming)1 成員名(ming)1;
類型名2 成員名2;
類型名(ming)n 成員(yuan)名(ming)n;
};
struct student
{
char name[10];
char sex;
int age;
float score;
};
(2) 定義結構體類(lei)型的變(bian)量、指針變(bian)量和(he)數組
方法一(yi):定義結構體類型(xing)時(shi),同時(shi)定義該類型(xing)的(de)變量
struct [student] /* [ ]表示(shi)結構體(ti)名是(shi)可選的 */
{
char name[10];
char sex;
int age;
float score;
}stu1, *ps, stu[5]; /* 定義結構體類型的(de)普通變量(liang)、指針變量(liang)和(he)數組 */
方法二:先定義(yi)結構體類型,再定義(yi)該類型的變量
struct student
{
char name[10];
char sex;
int age;
float score;
};
struct student stu1, *ps, stu[5]; /* 定(ding)義(yi)結構體類型的普通變量(liang)、指針變量(liang)和(he)數(shu)組 */
方法三(san):用類型(xing)定(ding)義(yi)符(fu)typedef先給結構體類型(xing)命別名,再用別名定(ding)義(yi)變量
typedef struct [student]
{
char name[10];
char sex;
int age;
float score;
}STU;
STU stu1, *ps, stu[5]; /* 用別名定(ding)義結(jie)構體(ti)類型的普通變量、指針變量和(he)數組 */
(3) 給結構體變(bian)量賦初值
struct [student]
{
char name[10];
char sex;
int age;
float score;
}stu[2]={{"Li", 'F', 22, 90.5}, {"Su", 'M', 20, 88.5}};
(4) 引用結構(gou)體變量中的(de)成(cheng)員
1) 結(jie)構體變量(liang)名(ming)(ming). 成員名(ming)(ming): stu1.name
2) 結構體指針變量成(cheng)員名: psname
3) (*結構體指針變量(liang)). 成員名: (*ps).name
4) 結構體變量數組名(ming). 成員名(ming): stu[0].name
4. 用結構體類型和基本數據類型定義變量的對比
	

