这个例子中参数们被放置在一个32位的数组中
创新互联主要从事网站制作、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务饶平,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
参数int a是第一个参数,通过他的地址依次+32位即代码中的ap+=4就可以找到其他参数地址并转换成相应的类型
这种方式不灵活,不同的系统情况可能不同,所以最好用已经定义好的宏
type va_arg( va_list arg_ptr, type );
void va_end( va_list arg_ptr );
void va_start( va_list arg_ptr );
void va_start( va_list arg_ptr, prev_param );
你搜一下这些应该有不少介绍的。
有没有上下文?不会是variable-变量 吧
翻译的东西看得很难受,经常出现不一致
推荐看清华大学出版社的教材,比较容易懂
函数定义就是规定函数的格式与功能。
函数声明就是在函数调用之前进行的一种说明。
下面举例说明两者的语法格式:
#includestdio.h
int fun(int a, int b); // 函数的声明
void main()
{
int x=1, y=2;
int c;
c = fun(x+y);
}
// 下面的fun函数就是函数的定义
int fun(int a, int b)
{
return a+b;
}
注:如果被调函数(上例中为fun函数)写在调用处之前,可以不声明(本例是现在调用处 (c = fun(x+y);)之后)。
变元就是变量,参数分为形参和实参两种。形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用