美文网首页
C语言共用体和枚举的使用

C语言共用体和枚举的使用

作者: 玉宾 | 来源:发表于2020-08-20 20:40 被阅读0次

    我好像已经缓不过来了,我开始变的越来越不想说话,暴躁懒惰焦虑失眠,拿起手机又不知道干嘛,我不知道我怎么了。。。

    ----  网易云热评

    一、共用体使用

    #include <stdio.h>

    #include <time.h>

    #include <stdlib.h>

    #include <string.h>

    union Aiyou

    {

           int a;

           char b;

           double c;

    };

    int main() {

           printf("共用体大小:%d\n", sizeof(union Aiyou));

           union Aiyou ay;

           printf("a的地址:%p\nb的地址:%p\nc的地址:%p\n", &ay.a, &ay.b, &ay.c);

           system("pause");

           return 0;

    }

    运行结果:

    共用体大小:8

    a的地址:00D7F740

    b的地址:00D7F740

    c的地址:00D7F740

    请按任意键继续. . .

    1、共同体的结构和结构体差不多,就是关键字不一样

    2、结构体大小是成员的总和

    3、共用体大小是最大化成员的大小

    4、公用体所有成员首地址都一样

    二、枚举使用

    #include <stdio.h>

    #include <time.h>

    #include <stdlib.h>

    #include <string.h>

    enum Aiyou

    {

           a,b,c,d=10,e,f

    };

    int main() {

           printf("共用体大小:%d\n", sizeof(enum Aiyou));

           enum Aiyou ay;

           int x = 0;

           if (x==a)

           {

                  printf("a\n");

           }

           int y = 11;

           if (y==e)

           {

                  printf("e\n");

           }

           system("pause");

           return 0;

    }

    1、枚举默认第一个成员为0,后面依次加1

    2、如果中间有赋值,d=10,后面依次加1

    三、typedef使用

    #include <stdio.h>

    #include <time.h>

    #include <stdlib.h>

    #include <string.h>

    typedef struct Aiyou sa;

    struct Aiyou

    {

           int year;

           char* name;

           char* zdg;

    };

    //声明一个函数setaiyou,参数是一个指针

    void setaiyou(struct Aiyou aayy)

    {

           printf("专辑名称:%s,主打歌:%s,发行时间:%d\n", aayy.name, aayy.zdg,  aayy.year);

    }

    int main() {

           sa ay;

           ay.year = 2016;

           ay.name = "周杰伦的床边故事";

           ay.zdg = "告白气球";

           printf("专辑名称:%s,主打歌:%s,发行时间:%d\n", ay.name, ay.zdg, ay.year);

           //调用该函数,将ay对象传递过去

           setaiyou(ay);

           system("pause");

           return 0;

    }

    1、给已存在的类型起别名

    2、不能创建新类型

    3、typedef struct Aiyou sa;

    创建对象就不用struc Aiyou ay;直接用sa ay;

    欢迎关注公众号:顺便编点程

    相关文章

      网友评论

          本文标题:C语言共用体和枚举的使用

          本文链接:https://www.haomeiwen.com/subject/mwpejktx.html