C语言基础13

今天是学习嵌入式相关内容的第十四天,以下是今日所学内容

1.结构体:

1.结构体类型定义

2.结构体变量的定义

3.结构体元素的访问

4.结构体的存储

内存对齐

结构体整体的大小必须为最大基本类型长度的整数倍

5.结构体作为函数参数

值传递

练习:定义一个学生的类型,封装一个函数GetStuInfo获得学生信息放入结构体中,

再封装一个函数PutStuInfo打印学生信息

指针传递

6.结构体数组:

struct student s[5];

2.共用体:

共用体所有成员变量共享同一片空间

内存大小端

方法1

放法2(共用体)

3.枚举:

1.枚举类型一般说明将来变量的值在给定的常量中选择其一作为它的值

2.枚举常量的值总是前一个枚举常量的值+1,第一个默认为0值

3.枚举常量默认为int类型,可以直接在程序中使用

用枚举完成车牌限号

4.位运算运算符:

& 按位与 与0得0

| 按位或 或1置1

^ 按位异或 相同为0 相异为1

~ 按位取反

>> 右移 右移n位 等价于 让该数 / 2^n

<< 左移 左移n位 等价于 让该数 * 2^n

按位异或实现数据交换:

a = a ^ b;

b = a ^ b;

a = a ^ b;

将变量的第n位置0:

num = num & ~(1 << n)

将变量的第n位置1:

num = num | (1 << n)

相关推荐
MacroZheng3 分钟前
还在用WebSocket实现即时通讯?试试MQTT吧,真香!
java·spring boot·后端
稚辉君.MCA_P8_Java18 分钟前
豆包 Java的23种设计模式
java·linux·jvm·设计模式·kubernetes
tanyongxi6619 分钟前
C++ 特殊类设计与单例模式解析
java·开发语言·数据结构·c++·算法·单例模式
qq_5139704419 分钟前
力扣 hot100 Day76
算法·leetcode·职场和发展
遗憾皆是温柔21 分钟前
24. 什么是不可变对象,好处是什么
java·开发语言·面试·学习方法
midsummer_woo26 分钟前
基于springboot的IT技术交流和分享平台的设计与实现(源码+论文)
java·spring boot·后端
Peter(阿斯拉)37 分钟前
[Java性能优化]_[时间优化]_[字符串拼接的多种方法性能分析]
java·性能优化·stringbuilder·string·字符串拼接·stringbuffer·时间优化
wearegogog12341 分钟前
C语言中的输入输出函数:构建程序交互的基石
c语言·开发语言·交互
Moshow郑锴1 小时前
机器学习相关算法:回溯算法 贪心算法 回归算法(线性回归) 算法超参数 多项式时间 朴素贝叶斯分类算法
算法·机器学习·回归
liulilittle1 小时前
BFS寻路算法解析与实现
开发语言·c++·算法·宽度优先·寻路算法·寻路