黑马程序员技术交流社区

标题: 形参、实参的区别?? [打印本页]

作者: 王海江1    时间: 2014-6-10 22:19
标题: 形参、实参的区别??
本帖最后由 王海江1 于 2014-6-13 22:09 编辑

前几天刚弄明白形参和实参的区别,现在又蒙来,,哪位高人有什么技巧记得比较牢固??好好阐述一下两者的不同吧,
作者: 为梦想挺身而出    时间: 2014-6-10 22:27
  1. 形参和实参:
  2. #include <stdio.h>

  3. // 小括号里面的是形式参数,简称形参,一个函数可以有形参也可以没有形参,这里有两个形参,形参的作用是别人调用这个函数的时候需要调用的值,赋值给形参,接收外界传过来的值,形参的个数可以写无数个,中间用逗号隔开,形参不能写一样的
  4. int sum( int num1, int num2)
  5. {
  6.     // 这样是不行的,重复定义了,函数的形参相当于函数内部的局部变量。函数体内部不能定义和形参一样的变量
  7.     // int num 1 = 10;
  8.     num1 = 50; // 如果是用基本数据类型作为形参的话,纯粹是值传递,只是把a的值给了num1,这里把num1的值改为50,但a的值并没有改变。int float,double是基本数据类型,如果是传递指针,效果就不一样了,指针是c语言重点
  9.     return (num1+num2);
  10. }
  11. int main()
  12. {
  13.     int a = 12;
  14.     int b = 32;
  15.    
  16.     // a和b称为函数的实际参数,简称实参,调用的时候,会把实参的值传递给对应的形参,实参的个数必须跟形参一样
  17.     int c = sum(a, b);
  18.    
  19.     printf("a=%d,b=%d,c=%d\n", a, b, c);
  20.     return 0;
  21. }

  22. 总结
  23. 1、形式参数的概念:定义函数时函数名后面中的参数,简称形参,一个函数可以有形参也可以没有形参
  24. 2、实际参数的概念:调用函数时传入的具体数值,简称实参,而且传入的值传给对应的形参
  25. 3、实参个数必须等于形参个数
  26. 4、函数体内部不能定义与形参一样的变量
  27. 5、如果是基本数据类型作为函数形参,纯粹是值传递,修改函数内部形参的值,并不会影响外面实参的值
  28. 6、一个函数可以没有形参,也可以有无限形参
复制代码

小小总结,希望可以帮到你
作者: 黄莉萍    时间: 2014-6-11 00:03
为梦想挺身而出 发表于 2014-6-10 22:27
小小总结,希望可以帮到你

顶起!!
作者: 詹绪长    时间: 2014-6-11 05:38
为梦想挺身而出 发表于 2014-6-10 22:27
小小总结,希望可以帮到你

说的很好
作者: 每天进步一点点    时间: 2014-6-11 07:46
又该写笔记了,你懂的
作者: 王海江1    时间: 2014-6-11 07:58
为梦想挺身而出 发表于 2014-6-10 22:27
小小总结,希望可以帮到你

如果不是基本数据类型作为函数形参呢?还会出现什么情况??
作者: 为梦想挺身而出    时间: 2014-6-11 09:11
王海江1 发表于 2014-6-11 07:58
如果不是基本数据类型作为函数形参呢?还会出现什么情况??

看基础视频,讲的很清楚




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2