使用結構體數組


  • 定義結構體數組的一般形式是

struct 結構體名{成員列表}數組名[數組長度];

struct Student
{
    char name[20];
    int count;
}leader[3] = {"Li",0,"zhang",0,"sun",0 };

 

  • 先聲明一個結構體類型,然后再用此類型定義結構體數組
struct  person leader[3];

 

 

  • 結構體數組初始化
struct  person leader[3] = {"Li",0,"Ming",0,"Gang",0};

 

 

結構體指針

1.指向結構體對象的指針變量既可以指向結構體變量,也可以指向結構體數組中的元素

 

struct Student *pt;

 

 

 

 

應用:

struct Student
{
    int num;
    char name[20];
    char sex;

};
struct Student student1;
struct Student *p;
p = &student1;//取地址符
printf("%d", student1.num);
printf("%d", (*p).num);//輸出相同

為了直觀和方便,C語言允許把(*p).num用p->num來替代

2.指向結構體數組的指針

 

include<stdio.h>;
struct Studnet
{
    int mum;
};
struct student stu[3] = {2,1,1};
int main
{
    struct Student *p;
for (p = stu; p < stu + 3; p++)
{
    cout << p->num;
}
return 0;
}

 

 

 

 

3.用結構體變量和結構體變量的指針作為函數參數

將一個結構體變量的值傳遞給另一個函數,有三個辦法

(1)用結構體變量的成員作參數

例如stu[1].num作函數實參

(2)用結構體變量做實參,形參也必須是同類型的結構體變量

(3)用指向結構體變量的指針作實參;

#include<stdio.h>;
struct Studnet
{
    int mum;
};
struct student stu[3] = {2,1,1};

void input(struct Student stu[])
{

}
int main
{
    struct Student *p;
    *p = stu;
    intput(p);//(3)

    return 0;
}

 

 

 

 

 

 


免責聲明!

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



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