c语言中的实际参数和形式参数怎么区分?

如题所述

首先定义上面
形式参数:定义函数时函数名后括号中的变量名!
实际参数:调用函数时函数名后括号中的表达式!

1。形参未被调用时,不占存储单元。形参只在调用过程中占用存储单元。形参定义时必须指定类型!
2实参是常量。变量或者表达式!要与形参类型一致!而且实参要有确定的值,在调用过程中实参将值赋给形参!
3。 C中实参对形参数据传递时时单向传递。在存储单元中是不同的单元!
温馨提示:内容为网友见解,仅供参考
第1个回答  2006-03-24
一般来说,在函数定义时,在函数体后括号内为形式参数,在主函数下程序内为实在参数,实参只能传给形参而形参不能传给实参,他们类型必须一致。
第2个回答  2019-10-04
函数调用时需注意的东西。函数定义中函数首部中的参数叫形参,调用函数时使用的参数叫实参。C函数调用采用“值传递”,比如有函数:
int
max(int
x,int
y)
{if(x>y)
return
x;
return
y;
}
在调用该函数时,有max(a,b);则该调用只把a(实参)的值赋给x(形参),把b(实参)的值赋给y(形参)。函数中对x,y的任何动作不改变a,b的值。值得注意的是如果用指针作参数,虽然符合上面原则,但对形参指向的数据的更改会影响实参指向数据的值。如函数:
int
swap(int
*x.int
*y)/*交换*/
{int
temp=*x;
*x=*y;
*y=temp;
}
则调用后swap第一个实参指向数据变为原第二个实参指向的数据,原第二个实参指向的数据变为第一个实参指向数据(因为指针的值是其指向数据的地址,该形参和实参指向同一个内存地址,形参对该地址存储值的改变,当然会影响到实参指向的地址存储值),但两指针指向(指向为其值)不变(上面的原则)。
相似回答