- 定義結構體數組的一般形式是
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;
}