1 / 2
文档名称:

C 语言函数参数和宏参数问题探讨.pdf.pdf

格式:pdf   页数:2页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C 语言函数参数和宏参数问题探讨.pdf.pdf

上传人:jiaxidong_01 2015/9/9 文件大小:0 KB

下载得到文件列表

C 语言函数参数和宏参数问题探讨.pdf.pdf

文档介绍

文档介绍:第 28卷第 21期甘肃科技 Vol28 No21
2012年 11月 GansuScienceandTechnology Nov 2012
C语言函数参数和宏参数问题探讨
吕浩音
(陇东学院信息工程学院,甘肃庆阳 745000)
摘要:函数是 C语言程序的重要组成部分,参数在函数的传递和调用中起着举足轻重的作用。讨论了函数的参数
和宏参数在使用语法、占用空间、参数替换以及传递方式等方面的区别,并结合程序分析,对 C语言中函数的参数以
及宏参数的难点进行了探讨。
关键词:C语言;函数;参数
中图分类号:TP319
C语言是一门实用性强且非常灵活的程序设计{
语言。C语言源程序是由多个函数组成,主函数可 inta[5],i=0;
以调用子函数,子函数之间也可以相互调用[1]。每 printf("pleaseinput5numbers\n");
个函数独立成一体,但是函数与函数之间的关系主 while(i<5)
要由参数和返回值来传递,根据参数划分,函数可分{scanf("%d",&a[i]);
为有参函数和无参函数。C语言允许宏带有参数, zone(a[i]);
在宏定义中的参数称为形式参数,在宏调用中的参 i++;}
数称为实际参数[2]。对于带参数的宏,在调用中不}
仅要宏展开,而且要用实参去替换形参。本文通过通过上面的实例,可以得出函数的形参和实参
举例分析,对函数参数和宏参数进行了详细的比较具有以下特点:
讨论。 1)函数传递为值传递和地址传递,在值传递中
函数调用中发生的数据传送是单向的。
1 函数参数 2)实参和形参的类型、个数,顺序必须是一一
在 C语言中,函数的参数分为形参和实参[3]。对应的,否则会发生“类型不匹配”的错误。
形参是在函数定义时给出的变量,在整个函数体内 3)在值传递中形参和实参是两个独立的量,各
都可以使用,离开该函数则不能使用。实参出现在有自己的作用域,调用时把实参的值赋给形参,实现
主调函数中,进入被调函数后,实参变量也不能使值传递[4],因此在函数调用过程中,若形参的值发
用。发生函数调用时,值的传递一般是通过实际参生改变,实参中的值却不受影响。
数和形式参数的结合完成,主调函数把实参的值传 4)函数调用时,实参可以是常量、变量、表达
送给被调函数的形参,从而实现主调函数向被调函式、函数等,无论实参是何种类型的量,它们都必须
数的数据传送。计算出确定的值,以便把这些值传送给形参,因此应
例如: 预先用赋值,输入等办法使实参获得确定值。
#include<stdioh> 5)形参变量只在被调用时才分配内存单元,在
voidzone(intx) 调用结束时,即刻释放所分配的内存单元[5]。因
{ 此,形参只在函数内部有效。函数调用结束返回主
if(x>0) 调函数后则不能再使用该形参变量。
printf("%d",x); 6)形参就是定义函数时候的参数表,只是定义
else 了参数表的结构和用来引用的名字,并没有具体的
printf("%d",0); 内容,而实参是调用函数传递的具体数据。
} 7)形参和实参必须都要定义类型,两者的类型
main() 要求一致,如不一致则会进行类型转换