• C语言结构体知识


    一、

    1.

    声明结构体类型的格式:(没有声明变量,不分配内存)

    struct structTag(结构体标签)

    {

    ...结构体成员

    };

    定义结构体变量:

    struct structTag x1;

    2.

    或者定义结构体类型的同时声明结构体变量:

    struct structTag(结构体标签)

    {

    ...结构体成员

    }x1;

    3.

    不指定结构体标签,直接定义结构体变量

    struct

    {

    ...结构体成员

    }x1;

    结构体类型无名字,因此在程序的不同地方定义结构体变量时,需要像上面的格式一样把结构体成员列出来。

    二、可以用typedef给数据类型定义一个新的别名

    typedef struct structTag otherName;

    或者:

    typedef struct //structTag(结构体标签)

    {

    ...结构体成员

    }otherName;

    效果:otherName=struct structTag

    应用:struct structTag=x1;//声明结构体变量

              otherName=x1;  // 声明结构体变量

    定义并初始化结构体变量,otherName=STUDENT,x1=stu1为例

    STUDENT stu1={1160300705,"cellphone",'F',1997,{55,56,67,78}};

    三、数组与结构体

    嵌套的结构体:在一个结构体内包含了另一个结构体作为其成员

                                                       

    嵌套结构体变量的初始化:

    结构体数组的定义和初始化:

    在程序中的访问格式:

    结构体变量间可直接用等号进行复制赋值,只能在相同类型的变量间进行。

    不能使用==和!=来判定两个结构体相等或不等

    四、结构体指针——指向结构体变量的指针

    (otherName=STUDENT)

    结构体变量和指针的声明及初始化:

    通过结构体指针访问结构体成员的方法:

    (*pt).studentID=1160300705;

    pt->studentID=1160300705;

    当结构体嵌套时:

    (*pt).birthday.year=1997;

    pt->burthday.year=1997;

    五、结构体数组指针——指向结构体数组的指针

    结构体数组及结构体数组指针的声明及初始化:

    通过指针访问结构体数组元素:

    六、向函数传递结构体

    a,向函数传递结构体的完整结构

    若把结构体变量作为函数参数,实际是复制结构体的所有成员给函数,函数对结构体内容的修改不影响原结构体。

    b,向函数传递结构体的首地址

    若结构体指针作为函数参数,则可以对结构体的内容进行修改。

    七、枚举类型

    SUN,MON等为枚举常量。

    应用场合:当某些量仅由有限个整型数据值组成时。

    定义枚举类型的别名:

    声明:

    八、共用体(union)

    把情形互斥但逻辑相关的多种不同类型的变量,组织到一个统一的名字之下

    共用体成员共同使用同一内存空间,起作用的成员是最后一次赋值的成员,只允许为第一个成员进行初始化,只需要一个初值,花括号不能省略。

    共用体的应用:

  • 相关阅读:
    mybatis概述
    Spring的配置分别是xml和java style
    JavaScript对象数据过滤、修改
    Spring框架
    设计模式-工厂方法模式(Fatory Patterm)
    简单的数据结构
    java链式操作
    centos7 php开发环境安装-composer
    centos7 php开发环境安装-php
    centos7 php开发环境安装-Apache
  • 原文地址:https://www.cnblogs.com/cellphone7/p/7671290.html
Copyright © 2020-2023  润新知