当前标签 / 核心 / 总共2篇

C语言标准库梳理

概述

C89 标准库总共划分为 15 个部分,每个部分用一个头文件描述,C99 标准新增了 9 个(为了简化学习,这里暂不提 C11 标准),总共有 24 个头文件。

头文件描述
assert.h于验证程序做出的假设,并在假设为假时输出诊断消息
ctype.h字符判断和转换
errno.h定义了一系列表示不同错误代码的宏
float.h包含了一组与浮点值相关的依赖于平台的常量
limits.h决定了各种变量类型的各种属性,例如范围
locale.h定义了特定地域的设置,比如日期格式和货币符号
math.h定义了各种数学函数和一个宏
setjmp.h定义了宏 setjmp()、函数 longjmp() 和变量类型 jmp_buf
signal.h定义了一个变量类型 sig_atomic_t、两个函数调用和一些宏来处理程序执行期间报告的不同信号。
stdarg.h定义了一个变量类型 va_list 和三个宏,这三个宏可用于在参数个数未知(即参数个数可变)时获取函数中的参数
stddef.h定义了各种变量类型和宏。这些定义中的大部分也出现在其它头文件中。
stdio.h定义了三个变量类型、一些宏和各种函数来执行输入和输出。
stdlib.h定义了四个变量类型、一些宏和各种通用工具函数。
string.h定义了一个变量类型、一个宏和各种操作字符数组的函数。
time.h定义了四个变量类型、两个宏和各种操作日期和时间的函数。
--新增-----下面是C99新增---
complex.h复数算术
fenv.h浮点环境
inttypes.h整数类型格式转换
iso646.h拼写转换
stdbool.h布尔类型支持
stdint.h整数类型
tgmath泛型数学
wchar.h扩展的多字节和宽字符实用工具
wctype.h宽字符分类和映射使用工具

阅读更多

C语言中核心知识点梳理

前言

最近有些时间研究一下 Android 系统源码了,所以又回过头来回顾一下 C 语言的一些知识,无论何时我觉得 C 语言都是值得学习的计算机语言,它里面蕴含着很多基础的知识。

推荐两本入门书籍: C 语言之父联合编写的《C程序设计语言 第2版》《C Primer Plus(第6版)》

整数在计算机中的表示

计算机中最终都是二进制的形式表示,二进制的每一位称为 bit, bit 是二进制数的最小单位, 8个 bit 为一个字节。另外在某些单片机中还存在半字节(4 bit)的概念。

原码表示法

特点:最高位为符号位,对于人来说很直观,对计算机来说比较麻烦。

原码表示法

如上图:六和负六二进制位相加结果为 10001100 ,转换为十进制为 12 ,这个明显不是我们想要的结果,所以对于计算机而言原码表示的二进制数无法直接相加来计算结果,计算过程比较麻烦。

阅读更多