[编程] 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 /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); 
}

 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/12519.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论