欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
全部教程·
C/C++/C#·
C教程
[目录]
·
C 标准库 <stdarg.h>
C 简介
C 环境设置
C 程序结构
C 基本语法
C 数据类型
C 变量
C 常量
C 存储类
C 运算符
C 条件语句
C 循环语句
C 函数
C 作用域规则
C 数组
C 指针
C 字符串
C 结构体
C 共用体
C 位域
C typedef
C 文件读写
C 预处理器
C 头文件
C 强制类型转换
C 错误处理
C 递归
C 可变参数
C 内存管理
C 命令行参数
C 标准库
C 标准库 <assert.h> C 标准库 <ctype.h> C 标准库 <errno.h> C 标准库 <float.h> C 标准库 <limits.h> C 标准库 <locale.h> C 标准库 <math.h> C 标准库 <setjmp.h> C 标准库 <signal.h> C 标准库 <stdarg.h> C 标准库 <stddef.h> C 标准库 <time.h> C 标准库 <stdio.h> C 标准库 <string.h> C 标准库 <stdlib.h> C 输入输出 C 语言必背代码例子
C 简介
C 环境设置
C 程序结构
C 基本语法
C 数据类型
C 变量
C 常量
C 存储类
C 运算符
C 条件语句
C 循环语句
C 函数
C 作用域规则
C 数组
C 指针
C 字符串
C 结构体
C 共用体
C 位域
C typedef
C 文件读写
C 预处理器
C 头文件
C 强制类型转换
C 错误处理
C 递归
C 可变参数
C 内存管理
C 命令行参数
C 标准库
C 标准库 <assert.h> C 标准库 <ctype.h> C 标准库 <errno.h> C 标准库 <float.h> C 标准库 <limits.h> C 标准库 <locale.h> C 标准库 <math.h> C 标准库 <setjmp.h> C 标准库 <signal.h> C 标准库 <stdarg.h> C 标准库 <stddef.h> C 标准库 <time.h> C 标准库 <stdio.h> C 标准库 <string.h> C 标准库 <stdlib.h> C 输入输出 C 语言必背代码例子C语言 标准库 <stdarg.h>
stdarg.h 头文件定义了一个变量类型 va_list 和三个宏,这三个宏可用于在参数个数未知(即参数个数可变)时获取函数中的参数。
可变参数的函数通在参数列表的末尾是使用省略号(,...)定义的。
1. 库变量
下面是头文件 stdarg.h 中定义的变量类型:
| 序号 | 变量 & 描述 |
|---|---|
| 1 | va_list 这是一个适用于 va_start()、va_arg() 和 va_end() 这三个宏存储信息的类型。 |
2. 库宏
下面是头文件 stdarg.h 中定义的宏:
| 序号 | 宏 & 描述 |
|---|---|
| 1 | void va_start(va_list ap, last_arg)这个宏初始化 ap 变量,它与 va_arg 和 va_end 宏是一起使用的。last_arg 是最后一个传递给函数的已知的固定参数,即省略号之前的参数。 |
| 2 | type va_arg(va_list ap, type)这个宏检索函数参数列表中类型为 type 的下一个参数。 |
| 3 | void va_end(va_list ap)这个宏允许使用了 va-start 宏的带有可变参数的函数返回。如果在从函数返回之前没有调用 va_end,则结果为未定义。 |
下一章:C 库宏 va_start()
C语言 库宏 va_start():C 库宏 void va_start(va_list ap, last_arg) 初始化 ap 变量,它与 va_arg 和 va_end 宏是一起使用的。last_arg 是最后一个传递给函数的已知的固定参数,即省略号之前的参数。这个宏必须在使用 va_arg 和 va_end 之前被调用。1. 声明:void va_start(va_list ap, last_arg);
AI 中文社