好吧.我就来总结一下,函数参数调用的问题.
1.参数的个数.
函数可以有0个,1个,2个.....甚至可以有任意个参数.
如果没有参数(0个),那么这个函数的参数即是void.
比如:int a(void);
1个,2个等个数是已知的函数比较常见,比如
int a(int i);
int b(int i, int j);
C语言一般还支持参数个数不确定的情况,
这个我们最熟悉的就是printf了.printf的参数原型是
printf(const char *,...);
至于这个怎么定义,怎么用,大家就得自己去找资料了.因为这个不是很常用.
而且一般情况下最好不用它.能用确定参数的,还是用确定参数个数比较好.
2.按值传送数据,按址传送数据
一般我们喜欢调用直接传值的函数.比如
int pa(int a)
{
printf("%d",a);
return 0;
}
这样的优点是调用方便.不会出错.
但如果我们需要在函数内部修改你传送的这个参数,并让这个修改在函数结束时仍有效,就得按地址传送参数了.
这就是指针参数.比如:
int pa(int *a)
{
*a=10;
return 0;
}
int main()
{
int i=1;
pa(&i);//i will be changed to 10 after function pa.
printf("%d",i);//this will print 10 at last;
}