关于C标准库stdarg.h】的更多相关文章

C 标准库 - <stdarg.h> 简介 stdarg.h 头文件定义了一个变量类型 va_list 和三个宏,这三个宏可用于在参数个数未知(即参数个数可变)时获取函数中的参数. 可变参数的函数通在参数列表的末尾是使用省略号(,...)定义的. 库变量 下面是头文件 stdarg.h 中定义的变量类型: 序号 变量 & 描述 1 va_list 这是一个适用于 va_start().va_arg() 和 va_end() 这三个宏存储信息的类型. 库宏 下面是头文件 stdarg.h…
看<数据结构(C语言版)>(严蔚敏)时看到p94上面va_list啥的,看不懂了,于是整理一下这一部分的知识. 1/当无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表. int sum(int n, ...) //三个点是占位符,表示参数个数不确定 2/stdarg.h头文件中定义了一个变量类型va_list(char*)和三个宏,这三个宏可用于在参数个数未知时获取函数中的参数. 其中va是variable argument的缩写. 3/使用方法 B站上看到的例子: int s…
C 标准库 - ctype.h This header declares a set of functions to classify and transform individual characters. These functions take the int equivalent of one character as parameter and return an int that can either be another character or a value represent…
C 标准库 - string.h This header file defines several functions to manipulate C strings and arrays. string .h 头文件定义了一个变量类型.一个宏和各种操作字符数组的函数. 库变量 size_t Unsigned integral type (type ) 这是无符号整数类型,它是 sizeof 关键字的结果. 库宏 NULL Null pointer 这个宏是一个空指针常量的值. 库函数 void…
C 标准库 - <assert.h> 简介 C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息. 已定义的宏 assert 指向另一个宏 NDEBUG,宏 NDEBUG 不是 <assert.h> 的一部分.如果已在引用 <assert.h> 的源文件中定义 NDEBUG 为宏名称,则 assert 宏的定义如下: #define assert(ignore) ((void)0) 库宏 下面列出…
C 标准库 - <signal.h> 简介 signal.h 头文件定义了一个变量类型 sig_atomic_t.两个函数调用和一些宏来处理程序执行期间报告的不同信号. 库变量 下面是头文件 signal.h 中定义的变量类型: 序号 变量 & 描述 1 sig_atomic_t 这是 int 类型,在信号处理程序中作为变量使用.它是一个对象的整数类型,该对象可以作为一个原子实体访问,即使存在异步信号时,该对象可以作为一个原子实体访问. 库宏 下面是头文件 signal.h 中定义的宏…
C 标准库 - <setjmp.h> 简介 setjmp.h 头文件定义了宏 setjmp().函数 longjmp() 和变量类型 jmp_buf,该变量类型会绕过正常的函数调用和返回规则. 库变量 下面列出了头文件 setjmp.h 中定义的变量: 序号 变量 & 描述 1 jmp_buf 这是一个用于存储宏 setjmp() 和函数 longjmp() 相关信息的数组类型. 库宏 下面是这个库中定义的唯一的一个宏: 序号 宏 & 描述 1 int setjmp(jmp_b…
C 标准库 - <math.h> 简介 math.h 头文件定义了各种数学函数和一个宏.在这个库中所有可用的功能都带有一个 double 类型的参数,且都返回 double类型的结果. 库宏 下面是这个库中定义的唯一的一个宏: 序号 宏 & 描述 1 HUGE_VAL 当函数的结果不可以表示为浮点数时.如果是因为结果的幅度太大以致于无法表示,则函数会设置 errno 为 ERANGE 来表示范围错误,并返回一个由宏 HUGE_VAL 或者它的否定(- HUGE_VAL)命名的一个特定的…
C 标准库 - <locale.h> 简介 locale.h 头文件定义了特定地域的设置,比如日期格式和货币符号.接下来我们将介绍一些宏,以及一个重要的结构 struct lconv 和两个重要的函数. 库宏 下面列出了头文件 locale.h 中定义的宏,这些宏将在下列的两个函数中使用: 序号 宏 & 描述 1 LC_ALL设置下面的所有选项. 2 LC_COLLATE影响 strcoll 和 strxfrm 函数. 3 LC_CTYPE影响所有字符函数. 4 LC_MONETARY…
C 标准库 - <limits.h> 简介 limits.h 头文件决定了各种变量类型的各种属性.定义在该头文件中的宏限制了各种变量类型(比如 char.int 和 long)的值. 这些限制指定了变量不能存储任何超出这些限制的值,例如一个无符号可以存储的最大值是 255. 库宏 下面的值是特定实现的,且是通过 #define 指令来定义的,这些值都不得低于下边所给出的值. 宏 值 描述 CHAR_BIT 8 定义一个字节的比特数. SCHAR_MIN -128 定义一个有符号字符的最小值.…