在函数或过程中定义的参数叫形参,调用函数时传入的参数叫实参。
在VB中,传递变量就是传地址,除非指定传值,即byval
过程或函数中的形式参数没有特别指明是传址方式还是传值方式,隐含的是传址。实际调用时,还要根据实参的形式,才能确定是传值还是传址的数据传送方式。若实参为常量或表达式,则为传值的传递方式;若实参是变量名或数组名,则为传址的传递方式。
用数学中的函数对比,如f(x) = 2x + 10
f(x)是返回值,x是形参,当你给x赋值为5时,实参是5,当赋值为10时,实参是10
因此,概括的说实参是某次函数调用时给形参的赋值
参数传递方式本质上只有一种,即传值。
传址与传引用都是传值的概念转换,比如
void calc(int ptr);
在调用时,表面上是传址,但对ptr这个形参来说,它的值初始化为了实参,因此是传值。
最本质的理解方法是,从内存的角度,给某个变量赋值无外乎在某个地方内存中写值,因此你需要关注目标内存是否被改变。比如,给指针形参指向的内存写值时,写的就是实参指向的内存,这就是传址的本质。
例如:你自己定义一个函数
int
max(int
a,int
b){
}
在这里a,b就是形参,接下来你会调用max函数,如:
void
main()
{
int
c,int
d;
max(c,d);
}
这里c
d就是实参
所谓形参就是在函数定义体中的参数
所谓实参就是在调用函数时实际传进函数的参数
形参是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传递的参数。实参是一个确定的值。
void sort(int arr[], int n)中arr[]和n就是形参,sort(arr[5], 5)中arr[5]和5就是实参
int
fun(int
x)
{
x++;
return
x;
}
main()
{
int
a=0;
int
b=fun(a);
}
x是形参,a是实参;
在函数定义的时候所带的参数是形参
在调用函数多使用的参数时实参;
形参因为它只是一个形式,并不分配内存,所以叫形参;
而在调用函数是使用的参数是实参,要分配内存;
当让你的形参和实参可以同名;
例如上边可以写作:
int
fun(int
x)
{
x++;
return
x;
}
main()
{
int
x=0;
int
b=fun(x);
}
以上就是关于vb中形参和实参的区别全部的内容,包括:vb中形参和实参的区别、简述什么是形参和实参,参数传递的方式有哪些、C语言中什么是形参,什么是实参等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!