C语言语法
2024-08-26 13:23:52
1、函数指针类型定义,然后指针结构体类型定义,最后的调用形式为aaa.bbb();(aaa为结构体变量)或者
aaa->bbb();(aaa为结构体指针),函数指针最好用结构体封装起来变成指针结构体,可封装多个类型不同
的函数指针合成一个结构体。
2、常用宏函数的封装
3、事件位宏定义的使用
4、结构体的定义,成员为结构体,构建更加复杂的数据结构。
5、在头文件中使用extern声明外部变量与外部函数。
6、使用预编译宏开关控制头文件的包含与否与语句的编译与否。
7、位段的使用可以节省ram空间。
8、枚举变量默认从0开始递增,也可以从中某个开始赋值为其他数值,后续重新递增。
9、头文件中放一些宏定义、数据结构类型定义、外部变量声明、外部函数声明。
10、源文件中放宏定义、数据结构类型定义、静态变量、静态函数声明、函数实现。
11、函数的本质是3大程序结构——顺序结构、循环结构、选择结构,这几种结构混合构成了程序。
12、字符串指针常量数组
13、外部变量在头文件中加上extern表示声明(声明,不能初始化),在源文件中定义变量(定义,可初始
化可不初始化)。
14、头文件中声明,函数前加extern表示声明,变量前加extern表示声明。
15、定义并初始化结构体时,给结构体成员赋值,成员名前加个点,表示赋值。如下所示:
{
.pinSDA = Board_SDA,
.pinSCL = Board_SCL
}
最新文章
- java中方法的重写与重载的区别
- weblogic部署项目包,报空指针错误
- A/B测试
- 纯CSS制作三角(转)
- beginUpdates和endUpdates
- Ejabberd源码解析前奏--管理
- CSRF攻击原理解析与对策研究
- [转贴] C++内存管理检测工具 Valgrind
- 2016022606 - redis事务
- Java-反射再学习
- jQuery--效果和遍历
- UVA 103 Stacking Boxes 套箱子 DAG最长路 dp记忆化搜索
- 201521123049 《JAVA程序设计》 第2周学习总结
- Linux 防火墙相关
- ActiveMQ队列特性:删除不活动的队列(Delete Inactive Destinations)
- Linux 下安装JDK1.8
- [ IE浏览器兼容问题 ] Web Uploader 在IE、FireFox下点击上传没反应
- input file实现多选,限制文件上传类型,图片上传前预览功能
- 【转】Deep Learning(深度学习)学习笔记整理系列之(五)
- sql语句中left join、right join 以及inner join之间的使用与区别
热门文章
- FileUpload上传
- rocketmq 4.3.2 解决远程不能消费问题,解决未识别到公网IP问题
- css格式
- CentOS下Redis的安装(转)
- rt-thread平台 动态装载实现原理
- 解决WIN7第一次开机冷启动QQ未响应的办法
- Azkaban实战,Command类型单一job示例,任务中执行外部shell脚本,Command类型多job工作flow,HDFS操作任务,MapReduce任务,HIVE任务
- JavaScript问题——在浏览器中每一个元素都有一个offsetParent属性,这个属性是什么?
- .net core Ocelot实现API网关并部署在docker中
- solr中Cache综述