zoukankan      html  css  js  c++  java
  • C-结构体

    结构体

    概念

    结构体是一个或多个成员的集合,各个成员之间可能具有不同的数据类型

    结构体的声明

    声明结构体时,必须列出它包含的所有成员,具体包括每个成员的名字和类型

    栗子1如下图,声明了一个x变量的结构体,它包含三个成员变量:一个整数,一个字符,一个浮点数

    struct {
        int a;
        char b;
        float c;
    } x;

    栗子2如下图,声明了y和z,y是一个数组,包含10个结构体;z是一个指针,指向这个类型的结构体

    struct {
        int a;
        char b;
        float c;
    } y[10], *z;

    结构体的初始化

    struct date {
        int year;
        int month;
        int day;
    };
    
    //init method1
    struct date today1 = {2020, 01, 28};
    
    //init method2
    struct date today2 = {.year=2020, .month=01, .day=28};

    结构体的操作

    对于整个结构体,可以赋值,取地址,作为参数传递给函数,结构体作为函数的返回值

    结构作为函数参数,函数会在内部新建一个结构变量,并复制调用者的结构的值

    结构指针

    结构变量的名字并不是结构变量的地址,所以必须用&运算符

    用->表示指针所指向的结构变量的成员

    结构指针作为参数的好处:传入传出只是一个指针的大小

    如果想要传入的结构不被函数修改:const struct point *p

    返回传入的指针是一种套路

  • 相关阅读:
    3 面向过程与面向对象进一步比较
    2 类、实例、属性、方法详解
    1 面向对象介绍
    CentOS5、6 NFS的安装配置及mount方法
    js 冒泡 捕获
    js定义类或对象
    new Option()——实现时间联动
    js闭包(转)
    (转)大型网站系统架构的演化
    30款最好的 Bootstrap 3.0 免费主题和模板
  • 原文地址:https://www.cnblogs.com/marton/p/13381048.html
Copyright © 2011-2022 走看看