結構體的定義

學習數據結構時總是碰到結構體、鏈表、指針等知識,這些知識在譚浩強的C語言書裏都有,現在忘得差不多了,剛纔又複習了一下數據結構,算是溫故而知新吧。

定義一個結構的一般形式爲:
struct 結構名
{成員表列};

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

  1. struct stu  
  2. {  
  3. int num;  
  4. char name[20];  
  5. char sex;  
  6. float score;  
  7. };  

在這個結構定義中,結構名爲stu,該結構由4 個成員組成。第一個成員爲num,整型變量;第二個成員爲name,字符數組;第三個成員爲sex,字符變量;第四個成員爲score,實型變量。應注意在括號後的分號是不可少的。結構定義之後,即可進行變量說明。凡說明爲結構stu 的變量都由上述4 個成員組成。由此可見, 結構是一種複雜的數據類型,是數目固定,類型不同的若干有序變量的集合。

定義變量的三種方式:

1、先定義結構,再說明結構變量。
如:

  1. struct stu  
  2. {  
  3. int num;  
  4. char name[20];  
  5. char sex;  
  6. float score;  
  7. };  
  8. struct stu boy1,boy2;  

 說明了兩個變量boy1 和boy2 爲stu 結構類型。

2、在定義結構類型的同時說明結構變量

  1. struct stu  
  2. {  
  3. int num;  
  4. char name[20];  
  5. char sex;  
  6. float score;  
  7. }boy1,boy2; 

 這種形式的說明的一般形式爲:
struct 結構名
{
成員表列
}變量名錶列;

3、直接說明結構變量

  1. struct 
  2. {  
  3. int num;  
  4. char name[20];  
  5. char sex;  
  6. float score;  
  7. }boy1,boy2; 

 這種形式的說明的一般形式爲:
struct
{
成員表列
}變量名錶列;


第三種方法與第二種方法的區別在於第三種方法中省去了結構名,而直接給出結構變量。

 當然成員變量也可以是結構體類型變量:

  1. struct date  
  2. {  
  3. int month;  
  4. int day;  
  5. int year;  
  6. };  
  7. struct{  
  8. int num;  
  9. char name[20];  
  10. char sex;  
  11. struct date birthday;  
  12. float score;  
  13. }boy1,boy2;  

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章