- 5
- 0
- 约8.86千字
- 约 34页
- 2018-02-26 发布于河南
- 举报
08_函数与变量-3-已看
主要内容: 函数参数的传递方式; 嵌套调用举例; 递归调用举例; 函数参数的传递方式 参数传递的两种方式: 值传递:在函数调用时,实参将其值传递给形参;实参和形参不在同一个内存空间。形参是调用时临时分配空间,调用完毕后空间释放。故形参值的改变不会改变实参的值。 地址传递:调用函数时,实参将某些量(如变量、字符串、数组等)的地址传递给形参。这样实参和形参指向同一个内存空间,在执行被调用函数的过程中,对形参所指向空间中内容的变化,能够直接影响到调用函数中对应的量,即形参值的改变会改变实参的值。 值传递1:实参和形参都是基本类型 add(int a,int b) { a+=3;b+=6; printf(“a=%d,b=%d\n”,a,b);} main( ) { int x=1,y=2; add(x,y); printf(“x=%d,y=%d\n”,x,y); } 值传递2:数值数组元素作为实参 由于数组元素与相同类型的简单变量地位完全一样;因此,数组元素作函数参数也和简单变量一样, 也是值的单向传递。 例:设有两个同样大小的一维数组,a[10],b[10]将相应元素比较,统计a中大于b中对应元素的个数,小于的个数,相等时的个数。 将两个数的比较用函数large(int x,int y)表示; 程序如下: 地址传递:数组名作实、形参 特点:直接用数组名作参数时,则为地址传送(不是值传送)
原创力文档

文档评论(0)