c语言定义参数函数 c语言函数中参数定义时*和什么意思( 二 )


void va_start( va_list arg_ptr, prev_param );
type va_arg( va_list arg_ptr, type );
void va_end( va_list arg_ptr );
一个简单c语言定义参数函数的例子
void simple_va_fun(int i, ...)
{
va_list arg_ptr;
int j=0;
va_start(arg_ptr, i);
j=va_arg(arg_ptr, int);
va_end(arg_ptr);
printf("i=%d j=%d\bn", i, j);
return;
}
int main()
{
simple_va_fun(1);
simple_va_fun(1,2);
simple_va_fun(1,200);
return 0;
}
怎样定义C语言函数中的参数(实参、形参)???不知道函数调用原理的话,很难说得清楚的 。粗略的说在C中函数其实是分成三个部分,分别是声明、实现和使用 。声明就是告诉C有这么个函数 , 实现就是这个函数的完整代码,使用则是调用这个函数帮你做运算或者是做事情 。为了让函数能做更多的事情,就需要一种方法能向函数传递性息,最可靠、最方便的方法就是参数传递,C就是这样做的 。参数传递也不是简单的一件事情,首先在调用者和被调用者之间得有个约定,大家约定好了参数放什么地方,如何使用,这个就称为调用约定 。现在我们回过头来看什么叫实参和形参 。由上面的叙述可以看到,函数其实有一定的独立性的 , 参数是在调用约定下放在指定地方供函数使用的 , 在我们实现函数的时候,实际的参数是什么我们还不知道,但我们知道有多少参数,分别是什么数据类型的和放在什么地方(顺序),这个是由调用约定来保证的 。我们知道的这些就是形式的或者说是逻辑的,我们在实现函数(编写函数体)的时候需要给他们命名,以便使用,这些在函数实现的时候命名的形式上的参数就是形式参数,简称形参 。而在实际调用发生的时候,调用者会将实际的参数放在约定好了的地方,这个实际参数简称实参 。函数被运行的时候实参和形参形成了一一对应,对形参的操作就变成了对实参的操作 。
对调用约定还有需要说明的就是,现在常用的调用约定都是传值的,也就是说只是传递了一个副本,这样做的结果就是你对形参的操作不会被传递出来 。
是否可以解决您的问题?
c语言定义参数函数的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于c语言函数中参数定义时*和什么意思、c语言定义参数函数的信息别忘了在本站进行查找喔 。

推荐阅读