c语言教学中函数参数传递问题探讨

c语言教学中函数参数传递问题探讨

ID:25169113

大小:52.00 KB

页数:4页

时间:2018-11-17

c语言教学中函数参数传递问题探讨_第1页
c语言教学中函数参数传递问题探讨_第2页
c语言教学中函数参数传递问题探讨_第3页
c语言教学中函数参数传递问题探讨_第4页
资源描述:

《c语言教学中函数参数传递问题探讨》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C语言教学中函数参数传递问题探讨C语言教学中函数参数传递问题探讨 1概.Lp;  temp=x;x=y;y=temp;  }  voidmain()  {  inta,b;  scanf("%d%d",a,b);  swap(a,b);  printf("%d%d",a,b);  } 输入:12  输出:12  4指针作为函数参数  变量的指针就是变.Lp;a;  *p=11;//间接访问方式  指针类型作为函数参数时,参数传递方式仍然是值传递,即把实参的值传递给形参。不同的是参数为指针变量,可

2、以通过形参的间接访问方式来读取或修改主调函数中有关变量的值。  如下例所示,通过值传递,形参x保存了变量a的地址,形参y保存了变量b的地址,即x指向变量a,y指向变量b,在sp;  temp=*x;*x=*y;*y=temp;  }  voidmain()  {  inta,b;  scanf("%d%d",a,b);  sp;a,b);  printf("%d%d",a,b);  }  输入:12  输出:21  5数组名作为函数参数  数组元素和数组名也可以作为函数参数,数组元素作为函数参数

3、与普通变量用法相同,数组名作为函数参数与指针变量相同。  用数组名作函数形参时,指定数组大小是不起任何作用的。因为C语言编译对形参数组大小不做检查,只是将实参数组的首地址传递给形参数组。实参数组名即是实参数组的首地址,相当于指针常量;形参数组名相当于指针变量。实际上,C编译都是将形参数组名作为指针变量来处理的[3]。所以,数组名作为函数参数可以按指针作为函数参数来理解。  如下例所示,数组名array代表数组array的首地址,通过值传递,形参数组名a,也可以理解为形参指针变量a,保存了数组arra

4、y的首地址,因此,在sp;  temp=a[0];a[0]=a[1];a[1]=temp;  }  voidmain()  {  intarray[2];  scanf("%d%d",array[0],array[1]);  swap(array);  printf("%d%d",array[0],array[1]);  }  输入:12  输出:21  6结论  综上所述,C语言函数参数问题主要涉及两个概念:传递方式和数据类型。实参与形参的传递方式只有一种,即值传递。参数的数据类型可以为普通类

5、型、指针类型和数组类型,数组类型实际上是按指针类型来处理的,所以,主要是指针类型与非指针类型的区别。对初学者来说,问题的难点在于数据类型的不同而非传递方式,即指针类型变量与非指针类型变量的区别。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。