C语言基础13

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

1.结构体:

1.结构体类型定义

2.结构体变量的定义

3.结构体元素的访问

4.结构体的存储

内存对齐

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

5.结构体作为函数参数

值传递

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

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

指针传递

6.结构体数组:

struct student s5;

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)

相关推荐
代码什么用7 小时前
Spring基础使用
java·后端·spring
沐晓时光8 小时前
C语言入门,深入理解指针(3)
c语言·开发语言
信奥卷王8 小时前
[GESP202609 六级] 分树规划
算法
Su米苏8 小时前
Spring AI 中MCP 与普通 @Tool的区别
java·人工智能·spring
夏幻灵8 小时前
LeetCode 21:合并两个有序链表——双指针与哑节点详解
算法·leetcode·链表
码云数智-园园8 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
老板一杯拿铁8 小时前
Java 异常体系详解:从字节码原理到最佳实践
java
蜗牛互联网8 小时前
Java 17 HttpClient调用文件转写API的超时与失败回退
java·人工智能·后端
禾小西9 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis