- 浏览: 458370 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (538)
- C/C++ Primer (69)
- Objective-C Primer (102)
- Python Primer (19)
- JavaScript Primer (1)
- Java Primer (37)
- PHP Primer (17)
- 泛 Linux (37)
- Shell Script (21)
- APUE (21)
- UNP__1&2 (19)
- NetWork (7)
- Oracle周边 (38)
- Mysql里边 (6)
- Windows技 (9)
- 简单算法 & 数据结构 (14)
- 设计模式 (6)
- GTK历程 (12)
- 工具使用 (25)
- 杂事 (23)
- 一些概念 (17)
- Web方面 (10)
- myCodeTools (9)
- ^未 竟$ (13)
- 硬件通信 (2)
- Games (1)
最新评论
http://zh.wikipedia.org/zh-sg/Stdarg.h
http://www.cppblog.com/qiujian5628/archive/2008/01/21/41562.html
★stdarg是由stdandard(标准) arguments(参数)简化而来
http://www.cppblog.com/qiujian5628/archive/2008/01/21/41562.html
★stdarg是由stdandard(标准) arguments(参数)简化而来
#include <stdio.h> #include <stdarg.h> void printargs(int arg1, ...) /* 輸出所有int型態的參數,直到-1結束 */ { va_list list; // a_list 用来指向参数 C89 int i; va_start(list, arg1); // va_start 使va_list指向起始的参数 C89 i = arg1; while (i != -1) { printf("%d ", i); i = va_arg(ap, int); // va_arg 检索参数 C89 } va_end(ap); // va_end 释放va_list C8 putchar('\n'); } int main(void) { printargs(5, 2, 14, 84, 97, 15, 24, 48, -1); printargs(84, 51, -1); printargs(-1); return 0; }
发表评论
-
execl
2010-10-28 11:13 841#include <stdio.h> ... -
dup2-close-fd
2010-10-28 10:54 809int main(int argc, char *argv ... -
Chapter 16__套接字
2010-10-25 11:39 585AF_INET、TCP、UDP、SCTP 报文界限 soc ... -
pthread_mutex_lock Test
2010-10-22 15:43 971#include <stdio.h> #in ... -
Chapter 14__高级IO
2010-10-20 11:45 715struct flock { short ... -
Chapter 15__进程间通信
2010-10-19 15:15 666- - 纯属抄书。。。 IPC(InterProcess ... -
APUE一栏入口
2010-10-14 15:25 753《UNIX环境高级编程》 《Advanced Programm ... -
Chapter 3__文件IO
2010-10-14 14:51 24int fcntl(int filedes, int cm ... -
Chapter 14
2010-10-14 09:01 7061、永远阻塞的调用有哪些? 阻塞,直到函数调用完成为止, ... -
Chapter 5__标准IO库
2010-10-12 11:56 6001)缓冲的本质是减少read和write调用的次数,也就是物 ... -
Chapter 4__文件和目录
2010-10-09 17:34 698一些概念: 主、次设备号 主设备号标识设备驱动程序 次设备号 ... -
Chapter 3__文件IO
2010-10-08 15:47 653无聊,贴些本章的关键字: 一、空洞文件、预读技术(read ... -
Chapter 1__ls DIR And struct dirent
2010-10-08 10:25 58遍历目录 #include "aupe.h& ... -
Practice Shell解释器
2010-09-29 15:34 950http://linux.chinaunix.net/bbs/ ... -
Chapter 13__守护进程Daemon
2010-09-29 14:43 620为什么守护进程会从进程中成为一类,相对普通进程有什么区别? ... -
Chapter 12__线程控制
2010-09-29 09:53 623★12.2线程限制,sysconf函数,增强可移植性; ★ ... -
Chapter 11__线程
2010-09-28 09:35 676★线程的执行环境 线程ID、栈 一组寄存器值 调度优先级和策 ... -
Chapter 10__信号
2010-09-27 14:06 739SIGHUP解说,有关终端和 ... -
Chapter 9__进程关系
2010-09-27 12:06 750------------------------------ ... -
Chapter 8__进程控制
2010-09-19 13:58 718//一些函数: pid_t getpid(void); ...
相关推荐
可变参数stdarg.h使用方法(例题) va_list用法 va_start已经 va_end
3. **获取可变参数**:使用`va_arg`宏获取每个可变参数。该宏需要两个参数:`va_list`类型的指针和要返回的参数的类型。每次调用`va_arg`都会使得指针移动到下一个参数的位置。 4. **清理资源**:使用`va_end`宏...
C语言基于stdarg.h的可变参数函数的用法 在C语言中,函数的参数个数通常是在函数声明时指定的,但是在某些情况下,我们需要使用可变参数函数,即函数的参数个数可以根据实际情况而定。这种函数的实现是基于stdarg.h...
可变参数列表是通过宏来实现的,这些宏定义于stdarg.h头文件,它是标准库的一部分。 这个头文件声明的一个va_list的类型,和三个宏va_start,va_arg,va_end。我们可以生明一个va_list类型的变量,配合三个宏使用。...
C51可变参数函数允许程序员设计能接受不定数量参数的函数,这在C语言中是通过头文件stdarg.h提供的宏实现的。stdarg.h在Keil C51环境中也提供了对可变参数函数的支持,可以让嵌入式开发人员灵活地编写函数,以处理...
linux应用程序中常用头文件的介绍 ; <assert.h> 验证程序断言 <cpio.h > cpio归档值 ...<stdarg.h > 可变参数表 <stddef.h > 标准定义 <stdio.h > 标准I/O库 <stdlib.h > 公用函数 <string.h > 字符串操作 ......
C语言中的可变参数函数可以接受可变数量的参数,通过使用stdarg.h头文件中的宏来实现。这些宏包括va_start、va_arg和va_end。va_start宏用于初始化可变参数表,va_arg宏用于取得当前的可变参数,va_end宏用于结束可...
在C语言中,可变参数列表是一个非常独特的特性,它允许函数接受数量不确定的参数。这一特性主要通过标准库中的 `<stdarg.h>` 头文件来实现。`<stdarg.h>` 提供了一些宏和数据类型,使得程序员能够在不知道确切参数...
首先,C语言中的可变参数是通过`stdarg.h`头文件提供的宏和类型来实现的。这个头文件包含了一些关键的函数和类型定义,如`va_list`、`va_start`、`va_arg`和`va_end`,它们是处理可变参数的关键。 1. `va_list`:这...
可变参数函数的核心是`stdarg.h`库,它提供了一些宏和类型,帮助我们在函数内部处理可变数量的参数。首先,我们需要包含这个头文件: ```cpp #include <stdarg.h> ``` 在C++中,为了定义可变参数函数,我们通常会...
这些宏定义在stdarg.h头文件中,它们允许函数访问可变数量的参数,这种处理方式通常被称为可变参数列表或可变参数宏。 在C语言中,实现参数个数可变的函数主要有两种形式,分别是ANSI标准形式和与UNIX System V兼容...
在C语言中,可变参数列表的实现依赖于`stdarg.h`库中的宏和数据类型。要定义一个可变参数列表的函数,我们需要以下几步: 1. 定义一个固定参数列表,通常包含至少一个参数,用于确定函数调用的上下文。例如,这个...
在实际编程中,为了确保代码的可移植性,通常会使用`stdarg.h`提供的工具来安全地处理变长参数。例如,`printf`函数能够解析`fmt`字符串并根据其中的格式说明符正确地处理各种类型的变长参数。 总的来说,C语言的变...
在C语言中,实现可变参数的机制依赖于一组预定义的宏,它们定义在`stdarg.h`头文件中。这些宏包括`va_start`、`va_arg`和`va_end`。下面是它们的用途: 1. `va_start(arg_ptr, prev_param)`:这个宏用于初始化`va_...
本文讨论了C语言中可变参数的用法,包括如何写一个简单的可变参数的C函数,如何使用可变参数宏va_start、va_arg和va_end,以及可变参数在编译器中的处理。 一、写一个简单的可变参数的C函数 在C语言中,某些函数...
要创建一个有可变参数的函数,我们需要使用C语言的变长参数(Variable Length Argument List,VLAs)特性。在C99标准以后,C语言引入了`stdarg.h`头文件,提供了处理变长参数的工具。 首先,我们来看一个简单的例子...
在C语言中,可变参数是一种...总结,C语言中的可变参数功能通过`stdarg.h`头文件提供的宏来实现,这使得程序员可以创建灵活的函数,处理不确定数量的参数。理解这些概念对于深入掌握C语言和进行相关开发工作至关重要。
这些宏定义在`stdarg.h`头文件中,因此编写可变参数函数时需要包含此头文件。 #### 宏定义解析 1. **`va_start`**: 初始化可变参数列表的迭代器。 - `void va_start(va_list arg_ptr, prev_param);` - 参数: -...
C标准库中提供了许多方便的宏和函数用于处理可变参数,如`stdarg.h`头文件中定义的宏和类型。这些工具构成了C标准库的“设施”部分,方便开发者编写能够处理可变参数的函数。 ### 部分内容知识点:可变参数函数的...