继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【备战春招】第2天 嵌入式工程师学习笔记

慕粉152226940
关注TA
已关注
手记 72
粉丝 8
获赞 43

【备战春招】第2天 嵌入式工程师学习笔记

课程信息

课程内容概述

1. 简介

本节介绍了联合体和结构体的定义形式类似,但是它是所有的成员共享同一块内存空间。共用最大的一块内存。

2. 联合体

2.1 使用方法

union  共用体名
{
        类型  成员1;
        类型  成员2;
        
};
例如:
union stu
{
                char a;
                int b;
                short c;
};
union stu s1;
printf("len : %d\n",sizeof(s1));  ===> 4

2.2 代码示例

#include <stdio.h>

typedef struct
{
    unsigned char Red;
    unsigned char Green;
    unsigned char Blue;
}RGB_t;

typedef union
{
    RGB_t  rgb;
    unsigned int value;
}PIX_t;

int main()
{
    //1. 定义一个PIX_t类型的变量,然后定义三原色分别为0X11、0X22、0X33,
    PIX_t color;
    RGB_t rgb;
    color.rgb.Red = 0X11;
    color.rgb.Green = 0X22;
    color.rgb.Blue = 0X33;
    //2. 不做任何处理,直接打印value。
    //3.观察结果
    printf("%#x\n", color.value);
}

运行结果

0x332211

学习心得

C语言中的共用体和结构体的异同点
<1>相同点
都是构造类型,含有多个成员,访问成员的规则一样

<2>不同点
结构体的每个成员都拥有独立空间
共用体的多个成员共用同一块内存空间,分配的空间最大成员所占用的内存。

课程截图

1. 原理讲解

图片描述

2. 代码证明

图片描述

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP