C预处理器和C库
#define #include #undef #ifdef #else #endif
#if #elif #else #endif
预处理宏: p463 _ _fun_ _是预定义标识符(函数作用域),不是宏(文件作用域)
#line --重置_ _LINE_ _和_ _FILE_ _宏报告的行号和文件名 #error
#pragma --将编译器指令置于源代码中
内联函数 inline --减少执行的时间
函数库 、数学库 略...
exit() atexit()
exit()执行了atexit()指定的函数后(先执行最后添加的文件),
将做一些自身清理的工作,它会刷新所有输出流、关闭所有打开的流、关闭通过调用标准I/O函数tmpfile()创建的临时文件
qsort()最有效的排序算法之一
void*指针赋给一个指针或另一个类型的时候,c++需要一次强制类型转化,c不用
诊断库:assert.h中的assert()--标识出程序中某个条件应为真的关键位置 , 在assert.h前添加#define NDEBUG 可以把它禁用了
string.h库中memcpy()与memmove()用于字符之间进行整体复制,不会进行字符转换
可变参数:stdarg.h va_start() va_arg() va_end() va_copy();
C预处理器和C库的更多相关文章
- C Primer Plus之C预处理器和C库
		编译程序前,先由预处理器检查程序(因此称为预处理器).根据程序中使用的预处理器指令,预处理器用符号缩略语所代表的内容替换程序中的缩略语. 预处理器不能理解C,它一般是接受一些文件并将其转换成其他文本. ... 
- C Primer Plus--C预处理器和C库(2)
		目录 #include指令 头文件 其他指令 #undef 条件编译 内联函数 #include指令 #include <头文件.h>//在标准系统目录中寻找头文件 #include &q ... 
- C Primer Plus--C预处理器和C库(1)
		目录 预处理符号 明显常量 #define 编译程序之前,先由预处理器检查程序(因此称为预处理器).根据程序中使用的预处理器指令,预处理用符号缩略语所代表的内容替换程序中的缩略语. 预处理器可以根据你 ... 
- 第 16 章 C 预处理器和 C 库(可变参数:stdarg.h)
		/*------------------------------------------------- varargs.c -- use variable number of arguments -- ... 
- 第 16 章 C 预处理器和 C 库(string.h 库中的 memcpy() 和 memmove())
		/*----------------------------------------- mems.c -- 使用 memcpy() 和 memmove() ---------------------- ... 
- 第 16 章 C 预处理器和 C 库(qsort() 函数)
		/*---------------------------------------- qsorter.c -- 用 qsort() 排序一组数字 --------------------------- ... 
- 第 16 章 C 预处理器和 C 库(直角坐标转换极坐标)
		/*------------------------------------- rect_pol.c -- 把直角坐标转换为极坐标 ---------------------------------- ... 
- 第 16 章 C 预处理器和 C 库(预定义宏)
		/*------------------------------------- predef.c -- 预定义宏和预定义标识符 ------------------------------------ ... 
- 第 16 章 C 预处理器和 C 库(条件编译)
		/*-------------------------------------- names_st.h -- names_st 结构的头文件 ----------------------------- ... 
随机推荐
- APIs
			应用程序接口(application programe interfaces) 
- Python-Blog1-搭建开发环境
			注:本系列是根据廖雪峰python实战过程,详情可见(https://www.liaoxuefeng.com/) 环境准备 Python 版本:Python 3.X,查看python版本python ... 
- JVM-垃圾收集的过程
			JDK1.7 JVM的垃圾收集算法有 1. 标记-清除算法: 2. 复制算法:在商业虚拟机都是使用这种算法来回收新生代的 3. 标记-整理算法: JDK1.7 JVM的垃圾收集器有 1. Serial ... 
- python_如何进行反向迭代和实现反向迭代?
			案例: 实现一个连续的浮点数发生器,FloatRange,根据给定范围(start, end) 和步进值,产生一些列的浮点数,例如:FloatRange(3,4,0.2),将产生下列序列: 正向:3. ... 
- iterator_category
			/* * 迭代器类型 * 1. input ierator * 2. write iterator * 3. forward iterator 在迭代器所形成的区间上进行读写操作 * 4. bidir ... 
- 无废话XML--XML解析(DOM和SAX)
			XML处理模式 处理XML有2种方式,DOM和SAX.一般的实际开发中,这2种使用的不多,直接用dom4j来解析XML就好了,包括CRUD等操作都很方便的.这里介绍的DOM和SAX是比较底层的,具体的 ... 
- 无废话XML--XML约束(DTD)
			基本术语 一.序言Prolog:包括XML声明(XML Declaration)和文档类型声明(Document Type Declaration). 二.良构(well-formed ... 
- SpringMVC源码之Controller查找原理
			摘要 本文从源码层面简单讲解SpringMVC的处理器映射环节,也就是查找Controller详细过程. SpringMVC请求流程 Controller查找在上图中对应的步骤1至2的过程 Sprin ... 
- C# Sap Rfc 连接代码实例
			根据不同的需求,安装不同位数的 Rfc SDK 1.构造 Sap Adress Information,且继承 IDestinationConfiguration public class SapAd ... 
- dos2unix和unix2dos
			dos2unix将windows格式的文件转换为linux格式的文件. unix2dos将linux格式的文件转换为windows格式的文件. dos2unix和unix2dos会转换windows和 ... 
