函数的秘密之 形参和实参
C 语言自学之 形参和实参
1 #include <stdlib.h> 2 3 int getGirth(int a,int b,int c) 4 { 5 if( (a+b)<=c || (a+c)<=b || (b+c)<=a ) //判断是否为三角形 6 { 7 printf("不构成三角形\n"); 8 return 0; 9 } 10 else 11 { 12 int cirf = a+b+c ; //计算三角形周长 13 return cirf;//那么函数的返回值是指函数被调用之后,执行函数体中的程序段所取得的并返回给主调函数的值。 14 } 15 16 } 17 18 int main() 19 { 20 /* 定义三角形三边长 */ 21 int a, b, c; 22 a = 3; 23 b = 4; 24 c = 5; 25 printf("三角形的周长是:%d\n", getGirth(a,b,c)); //调用周长函数 26 return 0; 27 }
数的形参和实参具有以下特点:
形参只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。
因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,
以便把这些值传送给形参。因此应预先用赋值等办法使实参获得确定值。
在参数传递时,实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。
例如:以下函数multiDouble(int x)实现把x乘以2再返回给函数调用处。
1 #include <stdio.h> 2 int MultDouble(int x)//这里的X是形参 3 { 4 return x*2; 5 } 6 int main() 7 { 8 int x=10;//定义变量x 9 //下面的X是实参,他其实就是main函数中定义的变量X 10 printf("x=%d\n",MultDouble(x)); 11 return 0; 12 }
本文为博主原创文章,转载请注明来源http://www.cnblogs.com/wuyuenini/