C语法-函数不定长参数
2020-10-16 19:48
393 查看
目录
前言
- 基于头文件 stdarg.h
- 基于 STM32
- 基于 C
- 如果读者对指针和堆栈的知识点比较熟悉,本笔记就一眼飘过,只需要看看怎么用就可以了哈哈。
语法
- 主要的宏 va_list
- va_start
- va_arg
- va_end
va_list
- 不同平台,该宏可能不一样,以下是 STM32+C
- void * 这个指针就是一张白纸,任何类型的指针都能赋值给 void* 类型。
typedef struct __va_list { void *__ap; } va_list;
va_list args;
- va_list 用于存放可变长参数 11b0 的
va_start
- 获取可变参数列表的第一个参数的地址
- args 必须为 va_list 类型
- str 参数必须为可变长参数(...)的前一个参数的地址
va_start(args,str);
va_arg
- 获取可变参数的当前参数
- 返回指定类型
- 并将指针指向下一参数
- 第二个参数为类型,即int、char char*之类的
a = va_arg(args,int);
va_end
- 空va_list可变参数列表
a = va_end(args);
相关文章推荐
- C++ 函数中如何接收数量不定的函数参数
- 测试不定长参数的函数
- ES6学习——新的语法:函数参数解构
- 函数中不定参数的处理(函数参数个数不定)
- 关于不定长参数和内存地址复用的问题(闭包与装饰器,修改外部函数变量与修改全局变量)
- 1.一个不定长参数函数
- python基础语法5-1函数及其参数
- 不定参数的宏 函数
- Java函数的不定参数
- symbian 下 不定参数的函数
- Python函数的参数传递-位置参数、关键字参数、默认参数、不定长参数
- php5.6及其以上版本有了新特性,函数可以传入不定数目的参数
- 如何写参数个数不定的函数(即类似printf的函数)
- c语言不定参数函数
- C语言不定参数的函数
- C++学习笔记:函数指针语法基础以及函数指针做函数参数的思想剖析
- 不定参数函数牵扯出来的栈的生长方向和大端小端模式
- C/C++下不定参数的函数的实现
- 怎样实现数目不定的函数参数
- Java函数的不定参数