结构体,共用体,枚举体,typedef

    xiaoxiao2025-07-14  5

    结构体 共同体 枚举体 typedef

    结构体:

    概念:结构体时一种构造数据类型 用途:把不同类型的数据组合成一个整体 内存:各成员所占内存空间的累加

    关键词:struct

    一.结构体的声明与定义变量的方法一共有三种: 1.常规定义: struct AA { int a; int b; }; //注意大括号后面有分号 变量定义:struct 机构体名 结构体变量名表 如: struct AA aa,bb;(前面的struct不能掉) 成员调用:aa.a; aa.b;

    2.尾部定义。 struct CC { int a; int b; }aa,bb; 此时aa,bb就是已经定义好的CC类型的变量了,这种情况在声明时struct前就一定不能加typedef,如果加上了,aa,bb就成了和CC一样的结构体类型了,而不是变量了。

    3.无名结构体 struct CC { int a; int b; }vip1,vip2; 此种情况除了vip1,vip2,不能再在其他地方定义新的变量,即定义了几个就只能用几个。

    不能在结构体内部直接给成员赋值:

    #include<stdio.h> //直接带变量名Huqinwei struct stuff{ // char job[20] = "Programmer"; // char job[]; // int age = 27; // float height = 185; }Huqinwei; https://yq.aliyun.com/articles/10417

    共用体:

    构造数据类型,也叫联合体。 用途: 使几个不同类型的数据共占一段内存(相互覆盖)

    关键词:union

    特点: 1共用体变量任何时候只有一个变量存在。 2,共用体变量定义分配内存,长度=最长成员所在字节数 3,定义共用体变量的方式和结构体一样有三种:常规,尾部,无名。 4,当给一个成员重复赋值时或对多个成员赋值时,只承认最后一次的赋值。

    typedef:

    功能:用自定义名字为已有数据类型命名(有点伪装的意思) 范围:只能针对已有数据类型使用。比如:int ,char, double,…..而define什么都可以换。

    举例: typedef int fuck; fuck you = 2; printf(“%d”,you) //2

    枚举体

    关键词:enum

    用途:列举所有选项 举例:day = {Sunday,Monday,Tuesday,Wednesday,Thusday,Friday,Saturday}; 结尾有分号,如果个枚举常量没有赋值,则默认值为其下标(参考一维数组),比如此时Tuesday = 2

    转载请注明原文地址: https://ju.6miu.com/read-1300699.html
    最新回复(0)