使用结构体数组


  • 定义结构体数组的一般形式是

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