zoukankan      html  css  js  c++  java
  • [编程] 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);
    }
  • 相关阅读:
    MQTT-SN协议乱翻之实现要点
    MQTT-SN协议乱翻之功能描述
    NUnit单元测试
    NHibernate多对多关联映射的实现
    Windows Phone 8 开发初体验
    ASP.NET MVC概述
    Entity Framework多对多关联映射的实现
    C#通过ODAC访问Oracle12c
    64位Win8系统下安装Oracle12c
    C# 异步下载文件
  • 原文地址:https://www.cnblogs.com/taoshihan/p/7856226.html
Copyright © 2011-2022 走看看