[编程] C语言的结构体

结构体

  struct 结构体名{} 变量名;

结构体变量:

        struct person{

                char *name;

                int age;

                float score;

        } student;

成员的获取和赋值

        //Members of the acquisition and assignment

        student.name="taoshihan";

        student.age=30;

        student.score=100;

        printf("name=%s ",student.name);

C语言结构体数组

        struct stu{

                char *name;

                int age;

                float score;

        } classes[5];

遍历结构体数组

        struct people{

                char *name;

                int age;

                float score;

        } d[]={

                {"taoshihan",20,100},

                {"lisi",30,90}

        };

        int len=sizeof(d)/sizeof(d[0]);

        printf("d length=%d ",len);

        for(int i=0;i<len;i++){

                printf("loop...%s,%d,%.1f ",d[i].name,d[i].age,d[i].score);

        }

C语言结构体和指针

  struct 结构体名 *变量名;

        struct person1{

                char *name;

                int age;

                float score;

        } a={"taoshihan",20,100},*b=&a;

        struct person1 *c=&a;

获取结构体成员

        printf("b.name=%s ",(*b).name);

        printf("c.name=%s ",c->name);

完整代码:

#include <stdio.h>
int main(){

        printf("hello world");
        //Structure variables
        struct person{
                char *name;
                int age;
                float score;
        } student;

        //Members of the acquisition and assignment
        student.name="taoshihan";
        student.age=30;
        student.score=100;
        printf("name=%s 
",student.name);

        //c struct array
        struct stu{
                char *name;
                int age;
                float score;
        } classes[5];

        struct stu1{
                char *name;
                int age;
                float score;
        } classes1[2]={
                {"taoshihan",20,100.00},
                {"lisi",20,90}
        };

        struct stu2{
                char *name;
                int age;
                float score;
        } classes3[]={
                {"taoshihan",20,100}
        };
        printf("%s 
",classes1[1].name);

        //Traverse the array of structures
        struct people{
"chaper5.c" 71L, 1199C                                                                                                            1,1           Top
        //Traverse the array of structures
        struct people{
                char *name;
                int age;
                float score;
        } d[]={
                {"taoshihan",20,100},
                {"lisi",30,90}
        };
        int len=sizeof(d)/sizeof(d[0]);
        printf("d length=%d 
",len);
        for(int i=0;i<len;i++){
                printf("loop...%s,%d,%.1f 
",d[i].name,d[i].age,d[i].score);
        }

        //C language structure and pointer
        struct person1{
                char *name;
                int age;
                float score;
        } a={"taoshihan",20,100},*b=&a;
        struct person1 *c=&a;
        //Get the structure member

        printf("b.name=%s 
",(*b).name);
        printf("c.name=%s 
",c->name);
}
原文地址:https://www.cnblogs.com/taoshihan/p/7856226.html