C语言之函数

函数

函数概述

函数是一段可以重复使用的代码块,用来独立地完成某个功能。
说明:
1.在C语言中,函数是程序的基本单位。
2.一个C语言程序(称作源文件)是由一个或多个函数组成的。
3.一个C语言源程序有且仅有一个主函数main,且无论main位于何处,程序都必须从main函数开始执行。

函数定义的一般形式

类型说明符 函数名(类型 形式参数,类型 形式参数,…)
{
声明部分
执行部分
}

函数的分类

一、从函数定义的角度来分类

1.库函数。库函数由C语言系统提供,用户无需定义,可直接使用,是一些常用功能模块的集合。如printf、scanf、getchar、putchar、gets、puts等函数均属此类函数。
2.用户自定义函数。用户自定义函数是由用户按需要编写的函数。因为C语言所提供的标准库函数不一定包含了用户所需要的所有功能,为了编制完成特定功能的程序,用户必须通过定义自己编写的函数来实现。

二、从函数的形式来分类

1.无参函数。无参函数在函数定义、函数说明及函数调用中均不带参数。主调函数和被调函数之间不进行参数传送。

> void hello()
> {
>     printf ("Hello,world \n"); 
> }

2.有参函数。有参函数也称带参函数。有参函数在函数定义及函数说明时都有参数,称为形式参数。在函数调用时也必须给出参数,称为实际参数。进行函数调用时,主调函数将把实参的值传送给形参,供被调函数使用。

#include <stdio.h>
int sum(int m, int n)//形式参数
{
    int i, sum=0;
    for(i=m; i<=n; i++)
    {
        sum+=i;
    }
    return sum;
}
int main()
{
    int begin = 5, end = 86;
    int result = sum(begin, end);//实际参数
    printf("The sum from %d to %d is %d\n", begin, end, result);
    return 0;
}
三、从函数有无返回值来分类

1.有返回值参数。有返回值函数被调用执行完后向主调函数返回一个执行结果,称为函数返回值。
2.无返回值参数。无返回值参数用于完成某项特定的任务,执行完成后不向主调函数返回函数值。由于函数无返回值,用户在定义此类函数时应当用void定义函数为“空类型”或“无类型”。

> void hello()
> {
>     printf ("Hello,world \n"); 
> }

函数参数

形式参数

在定义函数时函数名后面括号中变量名称称为形式参数

实际参数

在主调函数中调用一个函数时,函数名后面括号中的参数称为实际参数

参数的传递方式

1.值传递,即将实参的值传递给形参变量。在此过程中,不会改变实参的值。
2.地址传递,即当函数调用时,将实参数据的存储地址作为参数传递给形参。在此过程中,对形参值的改变也会改变实参的值。

函数的返回值

通过函数调用可以使主调函数得到一个值,这个值就是函数的返回值。函数的返回值通过函数体中的return语句获得。如果函数没有返回值,那么函数定义时的返回值类型为void,函数体中不能使用return语句;如果函数需要有返回值,那么函数中必须使用return语句,而且返回值的类型与函数定义时的函数类型一致。

void nothing()
{
}
char option()
{
   return 'A';
}
int number()
{
   return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值