[编程] C语言的结构体

2017-11-18 12:50:18来源:cnblogs.com作者:陶士涵人点击

分享

结构体

  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 /n",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 /n",len);

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

                printf("loop...%s,%d,%.1f /n",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 /n",(*b).name);

        printf("c.name=%s /n",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 /n",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 /n",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 /n",len);        for(int i=0;i<len;i++){                printf("loop...%s,%d,%.1f /n",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 /n",(*b).name);        printf("c.name=%s /n",c->name);}

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台