您现在的位置: 天下网吧 >> 网吧天地 >> 天下码农 >> 微信小程序 >> 正文

C语言函数定义的一般形式

2012-11-12C语言中文网佚名

一、无参函数的定义形式

类型标识符 函数名()
   {
      声明部分
      语句
   }
其中类型标识符和函数名称为函数头。类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型。该类型标识符与前面介绍的各种说明符相同。函数名是由用户定义的标识符,函数名后有一个空括号,其中无参数,但括号不可少。

{}中的内容称为函数体。在函数体中声明部分,是对函数体内部所用到的变量的类型说明。

在很多情况下都不要求无参函数有返回值,此时函数类型符可以写为void。

我们可以改写一个函数定义:
void Hello()
    {
       printf ("Hello,world \n");
    }
这里,只把main改为Hello作为函数名,其余不变。Hello函数是一个无参函数,当被其它函数调用时,输出Hello world字符串。

二、有参函数定义的一般形式

   类型标识符 函数名(形式参数表列)
       {
           声明部分
           语句
       }
有参函数比无参函数多了一个内容,即形式参数表列。在形参表中给出的参数称为形式参数,它们可以是各种类型的变量,各参数之间用逗号间隔。在进行函数调用时,主调函数将赋予这些形式参数实际的值。形参既然是变量,必须在形参表中给出形参的类型说明。

例如,定义一个函数,用于求两个数中的大数,可写为:
    int max(int a, int b)
    {
      if (a>b) return a;
      else return b;
    }
第一行说明max函数是一个整型函数,其返回的函数值是一个整数。形参为a,b,均为整型量。a,b的具体值是由主调函数在调用时传送过来的。在{}中的函数体内,除形参外没有使用其它变量,因此只有语句而没有声明部分。在max函数体中的return语句是把a(或b)的值作为函数的值返回给主调函数。有返回值函数中至少应有一个return语句。
 
在C程序中,一个函数的定义可以放在任意位置,既可放在主函数main之前,也可放在main之后。例如:可把max 函数置在main之后,也可以把它放在main之前。修改后的程序如下所示。

【例8.1】
int max(int a,int b)
{
    if(a>b)return a;
    else return b;
}
main()
{
    int max(int a,int b);
    int x,y,z;
    printf("input two numbers:\n");
    scanf("%d%d",&x,&y);
    z=max(x,y);
    printf("maxmum=%d",z);
}

现在我们可以从函数定义、函数说明及函数调用的角度来分析整个程序,从中进一步了解函数的各种特点。

程序的第1行至第5行为max函数定义。进入主函数后,因为准备调用max函数,故先对max函数进行说明(程序第8行)。函数定义和函数说明并不是一回事,在后面还要专门讨论。 可以看出函数说明与函数定义中的函数头部分相同,但是末尾要加分号。程序第12 行为调用max函数,并把x, y中的值传送给max的形参a, b。max函数执行的结果(a或b)将返回给变量z。最后由主函数输出z的值。

欢迎访问最专业的网吧论坛,无盘论坛,网吧经营,网咖管理,网吧专业论坛 https://bbs.txwb.com

关注天下网吧微信/下载天下网吧APP/天下网吧小程序,一起来超精彩

本文来源:C语言中文网 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系邮箱:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧 网吧天下