
c语言小把戏
文章平均质量分 78
c语言的小把戏
不咸不要钱
逝者如斯夫,不舍昼夜
展开
-
C语言 匿名联合体和匿名结构体
C语言 匿名联合体和匿名结构体匿名联合体和匿名结构体顾名思义,就是没有名字的联合体和结构体,没有名字哪怎么用?拿来用?在嵌入式数据通信里面,大部分都是使用联合体,将有实际意义的结构体和字节数组互相转换。typedef struct{ uint8_t head; //头 uint8_t cmd; //功能字 int16_t x; //传感器x轴数据 int16_t y; //传感器y轴数据 int16_t z;原创 2021-05-27 23:41:37 · 6390 阅读 · 6 评论 -
c语言对齐方式研究笔记
c语言对齐方式研究笔记为什么要对齐TragicJun 发表于 2006-9-18 9:41:00 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在访问一个没有进行原创 2020-12-23 18:39:19 · 1673 阅读 · 0 评论 -
嵌入式C语言代码规范
C语言代码规范参考安富莱C语言编码规范1.文件与目录1、文件及目录的命名规定可用的字符集是[A-Z;a-z;0-9;._-]。2、源文件名后缀用小写字母 .c 和.h。3、文件的命名要准确清晰地表达其内容,同时文件名应该精练,防止文件名过长而造成使用不便。在文件名中可以适当地使用缩写。以下提供两种命名方式以供参考:(1)各程序模块的文件命名开头 2 个消协字母代表本模块的功能:如:...原创 2019-12-17 16:26:27 · 20816 阅读 · 0 评论 -
判断是否是2的N次方
int16_t fun(uint32_t x){ if((x&(x-1)) == 0) { return 1; //是2的N次方 } return 0; //不是2的N次方}原创 2019-12-10 15:00:48 · 16935 阅读 · 0 评论