A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© wang619590713 中级黑马   /  2015-4-14 22:21  /  899 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

希望路过的大神帮忙解释一下形参和实参的区别!总是有些不明白!谢谢了!

4 个回复

倒序浏览
#include <stdio.h>
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是实参。
至于为什么“参数可以由实参传向形参,而不能逆反传递”,你可以这样理解:
我们不妨把函数比作戏剧的剧本,把形参比做剧本中的人物;当我们要表演此戏剧的时候,我们肯定会让真实的演员(实参)去扮演(替换)剧本里的角色(形参),而绝不可能用剧中人去替代现实的演员!理解了上面的道理,你还会有问题吗?
回复 使用道具 举报
形参实在函数定义和声明时使用的参数,实参是调用函数时传入函数内部的参数,传入函数的的实参要与函数的形参保持匹配,先可以这么理解就是,函数调用时用实参替换形参的位置。
回复 使用道具 举报
数组做形参时,转的是指针,8个字节
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马