C语言总结复习
目录
1.C语言的数据类型
1.1.内置类型
1.1.1转义字符(有印象即可)
1.1.2布尔类型
1.2自定义类型
1.2.1 数组
1.2.1.1C99中的变⻓数组
1.2.1.2柔性数组
1.2.1.2.1柔性数组是什么?
1.2.1.2.2柔性数组的优点(其余的自己了解)
1.2.2 结构体
1.2.2.1结构体声明(不占内存)
1.2.2.2结构体定义
1.2.2.3加入 typedef给结构体起别名
1.2.2.4如何计算结构体的大小?
1.2.2.5为什么存在内存对⻬?(了解即可)
1.2.2.6修改默认对⻬数
1.2.2.7结构体传参(记住即可)
1.2.2.8位段
1.2.3 枚举
1.2.3.1枚举是什么?
1.2.3.2枚举的语法规则
1.2.3.3枚举怎么用?
1.2.3.4 声明枚举变量
1.2.3.5 完整实例
1.2.3.6枚举有什么用?
1.2.3.7枚举的好处(优点)
1.2.4 联合体(共用体)
1.2.4.1联合体类型的声明
1.2.4.2联合体的特点
1.2.4.3相同成员的结构体和联合体对比
1.2.4.4联合体大小的计算
1.2.4.5联合体的实际例子
1.2.5结构体,联合体,枚举的区别
3.运算符和表达式:
3.1 操作符和表达式的注意事项:
3.1.1 “%”的注意事项
3.1.2 浮点数比较
3.1.3 得到浮点数结果的方法
3.1.4 逻辑与 &&、逻辑或 || 的短路特性
3.1.5 运算符优先级与结合性
3.1.6 逗号表达式
3.2 整型提升(基于补码)
3.2.1什么是整型提升?
3.2.2为什么要有整型提升?
3.2.3整型提升的具体规则
3.2.4整数溢出
3.2.4.1什么是整数溢出?
3.2.4.2有符号整数溢出:未定义行为(最危险)
3.2.4.3无符号整数溢出
3.2.4.4溢出逻辑:模 2^n 运算
3.3 原码、反码、补码
3.4 位操作符:&、|、^
3.4.1 按位与 &(全 1 才 1)
3.4.1.1 按位与 &的实际例子
3.4.2按位或 |(有 1 则 1)
3.4.2.1 按位或|的实际例子
3.4.3 按位异或 ^(相同为 0,不同为 1)
3.4.2.1 按位异或^的实际例
3.5移位操作符
3.5.1 左移操作符<<
3.5.2 右移操作符>>
4.通用占位符(需完全掌握)
5.数据在内存中的存储
5.1什么是大小端?
5.2大小端例子(和联合体中的实际例子一起看)
5.3浮点数的存储(自行了解)
6.库函数
6.1字符函数(头文件: )
6.2字符串操作库函数(头文件: )
1.strlen
2.strcpy
3.strcmp
4.strcat
5.strstr
6.strncpy
7.strncmp
8.strncat
6.3内存操作库函数(头文件: )
1.memcpy
2.memmove
3.memset
4.memcmp
6.4动态内存管理库函数(头文件: )
1.malloc
2.calloc
3.realloc
6.5通用算法库函数(头文件: )
1.qsort
1.C语言的数据类型

1.1.内置类型
1.1.1转义字符(有印象即可)
| 转义字符 | 含义 | 作用说明 |
|---|---|---|
|
| 换行符 | 换到下一行开头 |
| 水平制表符 | 相当于按一次 Tab 键 | |
| 反斜杠 | 输出一个真正的 | |
| " | 双引号 | 输出一个真正的" |
| ' | 单引号 | 在单引号字符串里输出 ' |

