C预处理器和C库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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库的主要内容,如果未能解决你的问题,请参考以下文章
第 16 章 C 预处理器和 C 库(可变参数:stdarg.h)
如何在 Visual Studio 中自动将预处理器和注释块插入到新的 C++ 头文件中?