zoukankan      html  css  js  c++  java
  • c语言---struct

    今天打C语言突然发现struct都不会用了,实话说struct我是一直蒙的,今天2018/1/9,好好解读一下这struct。
     
    在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。
    //struct为结构体关键字,Mark为结构体的标签,member为结构体成员,Variable为该结构体声明的变量
    struct Mark{
      member;
    } Variable;
    
    struct 标签{
      成员;
    }变量名;
    
    一般情况下,Mark、member、Variable这三个部分至少要出现两个。
    
    //此声明声明了拥有3个成员的结构体,同时声明了结构体变量data。
    struct{
      int day;
      int month;
      int year;
    }data;
    
    //此声明声明了和成员上面一样的结构体,但是没有声明变量,但结构体的标签被命名为Data。
    struct Data{
      int day;
      int month;
      int year;
    };
    //如果要声明变量,通过如下方式:
    struct Data d1,d2[10],*d3;
    
    //用typedef创建新类型
    typedef stuct{
      int day;
      int month;
      int year;
    }Data;
    //可以用下面方式声明变量
    Data d4,d5[10],*d6;
    结构体成员访问
    结构体成员依据结构体变量类型的不同,一般有2种访问方式,一种为直接访问,一种为间接访问。直接访问应用于普通的结构体变量,间接访问应用于指向结构体变量的指针。
    直接访问使用  结构体变量名.成员名
    间接访问使用  (*结构体指针名).成员名
    或者  使用  结构体指针名->成员名
    相同的成员名称依靠不同的变量前缀区分。
     
    参考:https://zh.wikipedia.org/wiki/%E7%BB%93%E6%9E%84%E4%BD%93_(C%E8%AF%AD%E8%A8%80)
  • 相关阅读:
    C# Linq Enumerable 技巧
    Winform 踩坑
    BootStrap Table
    java8+junit5实现并发测试(多线程)
    Junit5+REST-assured 做接口测试
    log4j的使用
    ASP.NET项目启用SSL
    hyper-v虚拟机内存占用过高
    C#使用qq邮箱的smtp服务发邮件
    CALayer设置圆角
  • 原文地址:https://www.cnblogs.com/glasses/p/8251010.html
Copyright © 2011-2022 走看看