结构体

#include <stdio.h>

struct score
{
    float grade[5];
    float avegrade,maxgrade,mingrade;
};

void main()
{
    int i;
    struct score m;

    printf("input the grade of five course:
");
    for(i=0;i<5;i++)
        scanf("%f",&m.grade[i]);
    
    m.avegrade=0;
    m.maxgrade=m.grade[0];
    m.mingrade=m.grade[0];
    for(i=0;i<5;i++)
    {
        m.avegrade+=m.grade[i];
        m.maxgrade=(m.grade[i]>m.maxgrade)?m.grade[i]:m.maxgrade;
        m.mingrade=(m.grade[i]<m.mingrade)?m.grade[i]:m.mingrade;
    }

    m.avegrade/=5;
    printf("avegrade=%5.1f   maxgrade=%5.1f   mingrade=%5.1f
",m.avegrade,m.maxgrade,m.mingrade);
}

#include <stdio.h>
#include <string.h>

struct person
{
    char name[20];
    int count;
}leader[3]={"Li",0,"Zhang",0,"Wang",0};

void main ()
{
    int i,j;
    char leader_name[20];

    while(1)
    {
        scanf("%s",leader_name);
        if(strcmp(leader_name,"0")==0)
            break;
        for(j=0;j<3;j++)
            if(strcmp(leader_name,leader[j].name)==0)
                leader[j].count++;
    }
    for(i=0;i<3;i++)
        printf("%5s:%d
",leader[i].name,leader[i].count);
}

结构体可以嵌套。即结构体中的成员可以是另一结构体类型的变量,也可以是自身类型的指针,但不能是自身类型的变量。

struct Img

{

    int tag;

    struct Img *pimg;        //正确,可以包含自身类型的指针

    struct Img img;           //错误,不能包含自身类型的变量

}

原文地址:https://www.cnblogs.com/919czzl/p/4418155.html