C语言头文件ansidecl.h中定义的宏VA_OPEN和VA_FIXEDARG和VA_CLOSE表示什么

作者&投稿:贠伦 (若有异议请与网页底部的电邮联系)
这个是用于处理可变参数的,其实C标准只定义了
va_start
,
va_end
,
va_copy
,
va_arg
这几个宏,而
va_list
是一个存储可变参数信息的对象。
va_start
用于初始化可变参数列表
va_copy
将参数列表拷贝一份,而不直接使用源参数列表,当然,这个拷贝参数列表中的参数信息和源列表是一样的。
var_arg
抽取参数列表中的下一个参数
var_end
用于结束参数处理(如果函数调用了va_start,在函数返回之前应该调用va_end结束本次处理)。
egg.
void
printInt(int
num,
...)
{

va_list
ap;//用于存储可变参数的信息的列表

var_start(ap,num);//初始化参数列表,你要告诉var_start,最后一个已命名的参数是哪一个(其实就是
...
前面的那个),这里就是num,因为va_start内部要找到可变参数的首地址,所以要知道从哪个地址开始是可变参数的地址,这里传递num,也就是从地址&num+1开始作为可变参数的地址。可变参数信息会存在ap这个list中
for(int
i=0;i<num;i++)
{

int
val=var_arg(ap,int);//使用va_arg宏从参数列表ap中取出一个参数,由于宏并不知道我们传递的参数的类型,所以它无法返回,所以你要告诉它参数是什么类型的,然后它就返回一个这种类型的参数值给你,参数列表内部维护一个指针,用于指示当前处理到哪个地址,调用va_arg后指针会移动到下一个参数的位置,那么它怎么知道下一个参数在哪里?你告诉它参数类型是什么,它就会向后移动这个参数类型所占的字节数,例如你从里面拿了一个int,那么它就+4,又从里面拿了一个char,它就+1。每次调用完va_arg后,指针都是指向下一个待处理的参数的地址。

printf("The
value
is:
%d
",val);
}
va_end(ap);//函数返回前,记得调用va_end这个宏来结束参数的处理,这个很重要,不要忘记。
}
printInt(3,24,36,71);//
调用printInt函数

~

C语言:头文件stdlib.h怎么读,最好注释音标,没有音标中文谐音(拼音)也...
答:他的意思指的是standard library.标准库的意思 音标[ˈstændəd ˈlaibrəri]

C语言中 头文件是什么意思 例如 #include<stdio.h>
答:头文件和你写的是两个概念。头文件是指以.h为后缀的一些文件。一般来说,文件中包含了函数,变量或类的申明。如果是动态库的头文件,那么会包含导出函数或导出类的申明。头文件是动态编译的产物。其目的是为了在编写代码时,不用在意其实现,仅在意其申明即可,直到执行的时候才去关注具体实现。而你写...

C语言中有#include <stdlib.h>文件吗?它与C++的有什么不同?_百度知 ...
答:stdlib.h 是一些标准头文件申明,由于C++兼容C语言,所以它也是一个合法的C++头文件。实际上,C++可以使用所有C语言的头文件,包括stdio.h。在C++引入名字空间后,建议使用不带扩展名的头文件,如:include <cstdlib> 即在传统C头文件前加一个字符c,去掉.h,同C++头文件一致。如:include <iostream>...

在c++语言中头文件 例如#include <stdio.h> 的作用是什么。通俗易懂的...
答:头文件 里的内容 实际上是公用程序块。一般是编译器提供的,(也可以自己 开发书写)。例如,stdio.h, std 是 英文“标准”的缩写,io是 英文 “输入输出”的缩写,这个头文件里 含 C语言输入输出函数的声明和定义,一些常数,和宏。例如,math.h 含 数学函数,例如 sin(),cos(),sqrt() ...

C语言的头文件是什么?
答:首先你要理解 C 语言的头文件(.h 结尾的文件)是什么。这里的后缀 h 就是 Header File(头文件)的首字母。一般在头文件中,会存有程序所需函数的函数原型(Prototype)、一些常量(Constant)、一些变量(Variable)、一些类型(Type)和一些宏(Macro)。这些存在头文件中的东西会在编译时被编译器...

c语言 #include<windows.h>是写什么的头文件
答:c语言#include <windows.h>是一个最重要的头文件,它包含了其他Windows头文件,这些头文件的某些也包含了其他头文件,这些头文件定义了Windows的所有资料型态、函数调用、资料结构和常数识别字。其所包含的最重要的和最基本的头文件有:Windef.h 基本数据类型定义。Winnt.h 支持Unicode的类型定义。Winbase....

C语言包含头文件的后缀“.a .h”等等是什么意思啊?
答:a:archive.归档的意思,是把很多库打包形成的,里面有函数可以用 .h是头文件。里面声明了一些常量和函数,包含之后可以使用那些常量和函数,大致就这样了。100个字快满了。

.h是什么文件
答:.h是C语言和C++语言的头文件。功能如下:1、一般在.h类的头文件里面只放入函数声明,宏定义,函数原型,而具体的实现在.cpp文件里面;2、举例说明:比如在<math.h>里面看到的数学函数都只有声明,具体实现在<math.cpp>里面;3、在编译的时候,编译器会自动加载和.h匹配的.CPP文件。

c语言中,头文件是什么意思?有什么用?
答:头文件:在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件和定义文件组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明,而定义文件用于保存程序的实现。头文件的主要作用在于多个代码文件全局变量(函数)的重用、防止定义的冲突,对各个被调用函数...

C语言:求头文件dir.h
答:TC2.0 /* dir.h Defines structures, macros, and functions for dealing with directories and pathnames.Copyright (c) Borland International 1987,1988 All Rights Reserved./ if __STDC__define _Cdecl else define _Cdecl cdecl endif if !defined(__DIR_DEF_)define __DIR_DEF_st...