/*
首先定义上面
形式参数:定义函数时函数名后括号中的变量名!
实际参数:调用函数时函数名后括号中的表达式!
1.形参未被调用时,不占存储单元。形参只在调用过程中占用存储单元。形参定义时必须指定类型!
2.实参是常量。变量或者表达式!要与形参类型一致!而且实参要有确定的值,占用储存单元,在调用过程中实参将值赋给形参!
3.C中实参对形参数据传递时时单向传递。在存储单元中是不同的单元!*/
别人解答:
include
void swap(int a,int b)
{
int t;
t=a;a=b;b=t;
}
main()
{
int i=3,j=5,p=&i,q=&j;
swap(p,q);printf("%d %d\n",p,*q);
}
里面,哪些是形参,哪些是实参呢?
void swap(int *a,int *b) 中的a、b是形参,swap(p,q)中的p、q是实参.
至于为什么“参数可以由实参传向形参,而不能逆反传递”,你可以这样理
我们不妨把函数比作戏剧的剧本,把形参比做剧本中的人物;当我们要表演此戏剧的时候,我们肯定会让真实的演员(实参)去扮演(替换)剧本里的角色(形参),而绝不可能用剧中人去替代现实的演员!理解了上面的道理,你还会有问题吗?