随笔分类 -  Tips of C

摘要:一.前言 c语言里面有了结构体,为什么还有需要联合体。 1.第一联合体在某些情况下,比结构体操作更方便。 如操作硬件寄存器、协议数据包的封装和解析。 2.更省内存。 二. union操作硬件寄存器 union 对比 struct 可以发现,结构体的操作更加繁琐。 点击查看代码 union devic 阅读全文
posted @ 2025-03-02 23:05 Charles_hui 阅读(1) 评论(0) 推荐(0) 编辑
摘要:一.前言 lvgl有一个像素点类型定义"lv_color_t",可以用表示多种颜色格式,RGB565、RGB888、RGB111等。 二.代码分析 1.对于不同颜色使用联合体、结构体、位域进行类型定义。 点击查看代码 typedef union { uint8_t full; /*must be d 阅读全文
posted @ 2024-10-16 17:22 Charles_hui 阅读(263) 评论(0) 推荐(0) 编辑
摘要:看到一段大小端验证代码,记录下来 点击查看代码 uint32_t endianess_test = 0x11223344; uint8_t * endianess_test_p = (uint8_t *) &endianess_test; bool big_endian = endianess_te 阅读全文
posted @ 2024-08-22 16:45 Charles_hui 阅读(9) 评论(0) 推荐(0) 编辑
摘要:1.减小变量的跨度和存活时间,可减小代码的复杂度。所以尽可能少使用全局变量 2.变量的赋值越明显越好! 3.准备抛弃变量时,要给它赋值一个不合理的数值。 例如,可以在删除一个指针后把它的值设为NULL。 4.函数命名尽可能采用动宾结构(尤其子函数) 5.区分类变量和全局变量。若类外部的子程序需要使用 阅读全文
posted @ 2023-10-28 19:40 Charles_hui 阅读(4) 评论(0) 推荐(0) 编辑
摘要:先贴上一篇优秀的博文链接: C语言之可重入函数 和不可重入函数_c 可重入函数_KiranWang的博客-CSDN博客 总结:不可重入函数的四种情况 1.静态数据结构:如静态局部变量活全局变量 2.malloc()或者free()函数因为这两个函数都会操作全局的链表,如果第一次malloc没结束时, 阅读全文
posted @ 2023-08-23 18:19 Charles_hui 阅读(233) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示