C語言結構體使用方法


定義

關鍵字:struct

struct 結構體名

{
    結構體所包含的變量或數組
};                             //結尾為分號

 

  1. struct stu{

  2. char *name;  //姓名

  3. int num;  //學號

  4. int age;  //年齡

  5. char group;  //所在學習小組

  6. float score;  //成績

  7. };

定義結構體變量

 

既然結構體是一種數據類型,那么就可以用它來定義變量。例如:

struct stu    stu1, stu2;

定義了兩個變量 stu1 和 stu2,它們都是 stu 類型,都由 5 個成員組成。注意關鍵字struct不能少。

stu 就像一個“模板”,定義出來的變量都具有相同的性質。也可以將結構體比作“圖紙”,將結構體變量比作“零件”,根據同一張圖紙生產出來的零件的特性都是一樣的。
也可定義的同時定義變量

  1. struct stu{

  2. char *name;  //姓名

  3. int num;  //學號

  4. int age;  //年齡

  5. char group;  //所在學習小組

  6. float score;  //成績

  7. } stu1, stu2;

理論上講結構體的各個成員在內存中是連續存儲的

逐一賦值

 

  1. stu1.name = "Tom";               // 結構體名.成員名=值

  2. stu1.num = 12;

  3. stu1.age = 18;

  4. stu1.group = 'A';

  5. stu1.score = 136.5;

整體賦值(整體賦值僅限於定義結構體變量的時候,在使用過程中只能對成員逐一賦值,這和數組的賦值非常類似)

  1. struct{

  2. char *name;  //姓名

  3. int num;  //學號

  4. int age;  //年齡

  5. char group;  //所在小組

  6. float score;  //成績

  7. } stu1, stu2 = { "Tom", 12, 18, 'A', 136.5 };

結構體數組

.定義

 

  1. struct stu{

  2. char *name;  //姓名

  3. int num;  //學號

  4. int age;  //年齡

  5. char group;  //所在小組

  6. float score;  //成績

  7. }class[5];               //數組名和長度

.賦值

 

  1. struct stu{

  2. char *name;  //姓名

  3. int num;  //學號

  4. int age;  //年齡

  5. char group;  //所在小組

  6. float score;  //成績

  7. }class[5] = {

  8. {"Li ping", 5, 18, 'C', 145.0},

  9. {"Zhang ping", 4, 19, 'A', 130.5},

  10. {"He fang", 1, 18, 'A', 148.5},

  11. {"Cheng ling", 2, 17, 'F', 139.0},

  12. {"Wang ming", 3, 17, 'B', 144.5}

  13. };

.變量引用和修改

結構體數組的使用,例如,獲取 Wang ming 的成績:

class[4].score;

修改 Li ping 的學習小組:

class[0].group = 'B';


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM