學習數據結構時總是碰到結構體、鏈表、指針等知識,這些知識在譚浩強的C語言書裏都有,現在忘得差不多了,剛纔又複習了一下數據結構,算是溫故而知新吧。
定義一個結構的一般形式爲:
struct 結構名
{成員表列};
成員表列由若干個成員組成,每個成員都是該結構的一個組成部分。對每個成員也必須作類型說明,其形式爲:
類型說明符 成員名;
成員名的命名應符合標識符的書寫規定。例如:
- struct stu
- {
- int num;
- char name[20];
- char sex;
- float score;
- };
在這個結構定義中,結構名爲stu,該結構由4 個成員組成。第一個成員爲num,整型變量;第二個成員爲name,字符數組;第三個成員爲sex,字符變量;第四個成員爲score,實型變量。應注意在括號後的分號是不可少的。結構定義之後,即可進行變量說明。凡說明爲結構stu 的變量都由上述4 個成員組成。由此可見, 結構是一種複雜的數據類型,是數目固定,類型不同的若干有序變量的集合。
定義變量的三種方式:
1、先定義結構,再說明結構變量。
如:
- struct stu
- {
- int num;
- char name[20];
- char sex;
- float score;
- };
- struct stu boy1,boy2;
說明了兩個變量boy1 和boy2 爲stu 結構類型。
2、在定義結構類型的同時說明結構變量
- struct stu
- {
- int num;
- char name[20];
- char sex;
- float score;
- }boy1,boy2;
這種形式的說明的一般形式爲:
struct 結構名
{
成員表列
}變量名錶列;
3、直接說明結構變量
- struct
- {
- int num;
- char name[20];
- char sex;
- float score;
- }boy1,boy2;
這種形式的說明的一般形式爲:
struct
{
成員表列
}變量名錶列;
第三種方法與第二種方法的區別在於第三種方法中省去了結構名,而直接給出結構變量。
當然成員變量也可以是結構體類型變量:
- struct date
- {
- int month;
- int day;
- int year;
- };
- struct{
- int num;
- char name[20];
- char sex;
- struct date birthday;
- float score;
- }boy1,boy2;