c语言从头开始(六:函数)

c语言从头开始(六:函数)

函数就是一组一起执行的语句,每个c程序至少有一个函数,也就是main()函数。理论上来讲,我们把所有的程序代码都写在主函数里是没有问题的。但是这会使主函数变得庞杂、头绪不清,使得阅读和维护程序变得困难。函数可以解决这些问题,而且,函数可以减少我们重复编写同样功能的代码。
C 标准库提供了大量的程序可以调用的内置函数。此外,我们可以根据需要,定义其他额外的函数。

定义函数:
C 语言中的函数定义的一般形式如下:

return_type function_name( parameter list )
{
   body of the function
}

函数的所有组成部分:
1.返回类型:一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type 是关键字 void。
2.函数名称:这是函数的实际名称。函数名和参数列表一起构成了函数签名。
3.参数:参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值被称为实际参数。参数列表包括函数参数的类型、顺序、数量。参数是可选的,也就是说,函数可能不包含参数。
4.函数主体:函数主体包含一组定义函数执行任务的语句。
简单例子:

int sum(int num1,int num2) //求num1和num2的和
{
    int sum; //定义局部变量sum
    sum=num1+num2;
    return sum;
}

函数声明:
函数声明会告诉编译器函数名称及如何调用函数。函数的实际主体可以单独定义。
函数声明包括以下几个部分:
return_type function_name( parameter list );
像上面定义的sum()函数,声明如下

int sum(int num1,int num2);

当您在一个源文件中定义函数且在另一个文件中调用函数时,函数声明是必需的。在这种情况下,您应该在调用函数的文件顶部声明函数。

调用函数:

#include <stdio.h>

int sum(int num1,int num2);//函数声明 

int main()
{   //定义变量 
    int a=1;
    int b=2;
    int c;
    //函数调用 
    c=sum(a,b);
    //输出 
    printf("%d",c);
    return 0;
}

int sum(int num1,int num2)//函数定义 
{
    int sum;
    sum=num1+num2;
    return sum;
} 

运行:
这里写图片描述

函数参数:
如果函数要使用参数,则必须声明接受参数值的变量。这些变量称为函数的形式参数。
形式参数就像函数内的其他局部变量,在进入函数时被创建,退出函数时被销毁。
当调用函数时,有两种向函数传递参数的方式:
传值调用:该方法把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数不会影响实际参数。
引用调用:该方法把参数的地址复制给形式参数。在函数内,该地址用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。
默认情况下,C 使用传值调用来传递参数。一般来说,这意味着函数内的代码不能改变用于调用函数的实际参数。

猜你喜欢

转载自blog.csdn.net/feng_ge3/article/details/80862966