重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
函数 后面()里面有变量的就是参数,没有就是无参,有时候一个调用要传个参数,例如你计算一个1+1=多少? 1+1是用户输入的,所以你调用这个函数的时候,函数就要定义为有带参数的函数,因为你要把用户输入的传过去,函数要接受到这个东西才能计算,。。。 而如果你只是知道一定要有这个操作,没什么东西要接受处理的,就不用带参数的函数。
我们提供的服务有:成都网站设计、网站制作、外贸营销网站建设、微信公众号开发、网站优化、网站认证、梁子湖ssl等。为1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的梁子湖网站制作公司
c语言中标准函数指由标准头文件定义和实现的函数,即“系统自带的”,用户函数是由程序员自己定义实现的。
无参函数就是函数没有定义参数,有参函数就是函数定义了参数。
函数的参数分为形参和实参两种。
形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。
形参和实参的功能是作数据传送,发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。
举个例子:
定义一个函数s=f(a,b),功能是将a和b的差赋值给s,那么,a和b就是这个函数的两个参数。
扩展资料:
C语言的参数传递方式
方法有3种方式:值传递、地址传递、引用传递
tips:
被调用函数的形参只有函数被调用时才会临时分配存储单元,一旦调用结束占用的内存便会被释放
值传递和地址传递,传递的都是实参的一个拷贝
C语言中实参和形参之间的数据传递是单向的“值传递”,单向传递,只能由实参传给形参,反之不行
输出格式并没有选择%p而是选择了%d,因为十进制的数看起来更直观。
值传递
如果只是传递值的话:
#include stdio.h
//值传递传值
void swap( int x, int y);
int main()
{
int a=2,b=3;
printf("before:实参为a,b\na=%d,地址为%d\nb=%d,地址为%d\n\n",a,a,b,b);
swap(a,b);
printf("after:实参为a,b\na=%d,地址为%d\nb=%d,地址为%d\n\n",a,a,b,b);
return 0;
}
void swap(int x,int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf("inside:形参为x,y\nx=%d,地址为%d\ny=%d,地址为%d\n\n",x,x,y,y);
}
不知道函数调用原理的话,很难说得清楚的。粗略的说在C中函数其实是分成三个部分,分别是声明、实现和使用。声明就是告诉C有这么个函数,实现就是这个函数的完整代码,使用则是调用这个函数帮你做运算或者是做事情。为了让函数能做更多的事情,就需要一种方法能向函数传递性息,最可靠、最方便的方法就是参数传递,C就是这样做的。参数传递也不是简单的一件事情,首先在调用者和被调用者之间得有个约定,大家约定好了参数放什么地方,如何使用,这个就称为调用约定。现在我们回过头来看什么叫实参和形参。由上面的叙述可以看到,函数其实有一定的独立性的,参数是在调用约定下放在指定地方供函数使用的,在我们实现函数的时候,实际的参数是什么我们还不知道,但我们知道有多少参数,分别是什么数据类型的和放在什么地方(顺序),这个是由调用约定来保证的。我们知道的这些就是形式的或者说是逻辑的,我们在实现函数(编写函数体)的时候需要给他们命名,以便使用,这些在函数实现的时候命名的形式上的参数就是形式参数,简称形参。而在实际调用发生的时候,调用者会将实际的参数放在约定好了的地方,这个实际参数简称实参。函数被运行的时候实参和形参形成了一一对应,对形参的操作就变成了对实参的操作。
对调用约定还有需要说明的就是,现在常用的调用约定都是传值的,也就是说只是传递了一个副本,这样做的结果就是你对形参的操作不会被传递出来。
是否可以解决您的问题?