亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【備戰春招】第4天 嵌入式工程師學習筆記

標簽:
C C++ 嵌入式

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

课程信息

课程内容概述

1. 简介

本节介绍了位域:有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位。例如在存放一个开关量时,只有 0 和 1 两种状态,用 1 位二进位即可。为了节省存储空间,并使处理简便,C 语言又提供了一种数据结构,称为"位域"或"位段"。

2. 枚举

2.1 使用方法

struct 位域结构名
{
    类型说明符1 位域名1:位域长度1; //最低位;
    类型说明符2 位域名2:位域长度2; //次低位;
    类型说明符3 位域名3:位域长度3;
    ……
    类型说明符N 位域名N:位域长度M; //最高位;其中,N∈[0,1,2…..],M∈[0,8];
};
注:
类型说明符 常用int,unsigned int ,signed int,unsigned char,char这几种类型。
位域长度   位域中的数量位,要小于或等于类型的宽度

例如:
struct Bit
{
int a:8;
int b:2;
int c:6;
};

struct Bit data;
说明位域变量data,共占用2个字节;其中,位域a占8bit,位域b占2bit,位域c占6bit


2.2 代码示例

#include <stdio.h>
#include <string.h>

struct
{
  unsigned int age;
  unsigned int sex;
} student1;

struct
{
  unsigned int  age:1;
  unsigned int  sex:1;
} student2;

 int main( )
{
   printf( "sizeof(student1) : %d\n", sizeof(student1));
   printf( "sizeof(student2) : %d\n", sizeof(student2));
 
   return 0;
}

运行结果

sizeof(student1) : 8
sizeof(student2) : 4

学习心得

C语言中的位域,在节省空间时用处很大。

课程截图

1. 代码示例

图片描述

2. 代码示例

图片描述

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消