C语言精要
文章平均质量分 80
记录分享C语言的一些技巧和方法
ScilogyHunter
一码流年雨疏疏,莫道E人岁月蹴。。。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
浮点数运算的陷阱:深度解析精度损失与数值溢出
为什么 `0.1 + 0.2 ≠ 0.3`?为什么巨大的数字加上1结果不变?本文将深入计算机底层,揭示浮点数运算中的那些反直觉现象。原创 2025-11-01 21:19:27 · 1012 阅读 · 0 评论 -
深入理解C语言标准库:<stdbool.h>和<stdint.h>
在C语言编程中,`<stdbool.h>`和`<stdint.h>`这两个头文件提供了对布尔类型和固定宽度整数类型的标准化支持。它们是C99标准引入的重要特性,极大地提高了代码的可移植性和可读性。原创 2025-10-31 17:38:24 · 1453 阅读 · 0 评论 -
C语言标准库完全指南
C语言标准库是C编程的核心基础设施,提供了一系列预定义的函数、宏和数据类型。这些库函数极大地扩展了C语言的基本功能,使开发者能够专注于业务逻辑而非底层实现。本文将全面介绍C标准库的各个头文件,详细说明其功能、使用条件和注意事项。原创 2025-10-27 16:55:29 · 1720 阅读 · 0 评论 -
C标准库math.h详解
数学计算是编程中不可或缺的部分,C语言通过math.h头文件提供了丰富的数学函数和宏定义。本文将全面解析math.h中的所有内容,帮助开发者更好地理解和使用这些数学工具。原创 2025-10-27 16:37:35 · 1249 阅读 · 0 评论 -
C语言实现float64矩阵操作函数库
本文将介绍一个用C语言实现的float64(双精度浮点数)矩阵操作函数库,包含创建、销毁、基本运算、线性代数操作等功能。原创 2025-08-06 20:25:41 · 687 阅读 · 0 评论 -
头文件大小写引发的报错
在具体说下windows系统,fat文件系统是不区分大小写的,但现在windows系统基本都用的NTFS文件系统,而NTFS文件系统是区分大小写的,那为何又说windows下不区分文件名大小写呢?这是因为windows为了兼容性,其系统API CreateFile 是不区分大小写的,从而使得NTFS文件系统下也是不区分大小写了。仔细观察发现,报错说的是找不到头文件“syscfgpll/sysCfgpll.h”,而源码中存在的是头文件“syscfgpll/sysCfgPll.h”,这里的字母p大小写不一样。原创 2024-05-28 19:15:11 · 619 阅读 · 0 评论 -
结构体保留字段定义
使用结构体时常为了对齐或匹配需要定义一些保留字段,比如定义一个结构体来描述某设备寄存器,因为寄存器本身不是连续的所以在空缺位置要定义保留字段,如下所示:typedef struct { volatile UINT16 fifo; volatile UINT16 ucsr; volatile UINT16 recerved0; volatile UINT16 ...原创 2019-09-12 17:13:57 · 3450 阅读 · 0 评论 -
矩阵宏,一次定义大量常数
如果要定义GPIO_A_00 到 GPIO_Z_31 即所有的 GPIO 编号,且数值和宏名是有逻辑关系的如下:GPIO_port_pin = port * 32 + pin用传统的方法需要写 26 * 32 = 832 行宏定义,如下:#define GPIO_A_00 (0)#define GPIO_A_01 (1).........#define GPIO_Z_3...原创 2019-09-12 17:35:21 · 663 阅读 · 0 评论 -
宏定义基础知识
#define 叫做 宏定义命令,它是C语言预处理命令的一种。所谓宏定义,就是用一个标识符来表示一个字符串,如果在后面的代码中出现了该标识符,那么就全部原样替换成指定的字符串。宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单粗暴的替换。字符串中可以含任何字符,它可以是常数、表达式、if 语句、函数等,预处理程序对它不作任何检查,如有错误,只能在编译已被宏展开后的源程...原创 2019-10-16 20:59:04 · 1107 阅读 · 0 评论 -
深入理解C语言指针
深入理解C语言指针深入理解C语言指针转载 2019-10-16 21:07:32 · 534 阅读 · 0 评论
分享