跳到主要内容

C 函数

1.函数的定义

C 语言要求函数必须 ” 先定义,后调用 “ ,定义函数的格式如下:

return_type function_name( parameter list )
{
body of the function;
}
  • 函数名称:一般根据函数实现的功能来命名。
  • 参数列表:指定了参数的类型和名字,函数也可以没有参数。
  • 函数主体:指定函数的具体实现过程,是函数中最重要的部分。
  • 返回类型:return_type 就是函数返回的数据类型,如果这个函数不准备返回任何数据,那么需要写上void表示没有任何返回值。

2.函数的声明

声明就是告诉编译器我要使用这个函数,如果定义在调用函数之前,则不声明函数也是可以使用的。

跨文件调用的函数则必须进行声明。

函数声明:

int function(int a, int b);
int function(int, int);
//两种声明均可,推荐使用第一种

3.函数的调用,参数及返回值

示例:

#include <stdio.h>

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

int main(int argc, char const *argv[])
{
int a = 0,b = 0;
int value;

printf("请输入两个数:");
scanf("%d %d",&a, &b);
value = max(a,b);
printf("Max value: %d\n",value);
return 0;
}

int max(int num1, int num2) //函数定义
{
if (num1 > num2)
return num1;
else
return num2;
}

4.作用域规则

作用域是程序中定义的变量所存在的区域,超过该区域的变量就不能被访问。C 语言中有三个地方可以声明变量:

  • 局部变量:在函数或块内部的变量。

    • 它们只能被该函数或该代码块内部的语句使用,局部变量在函数外部是不可知的。如果在该函数内的局部变量和全局变量的名字相同,则优先使用局部变量值。
  • 全局变量:在所有函数外部的变量。

    • 通常定义在程序的顶部,全局变量在整个生命周期内都是有效的,在任意的函数内部都可以访问到全局变量。
  • 形式参数:在函数参数定义中的变量。

    • 函数的参数,被当作该函数内的局部的变量,如果和全局变量同名,它们会被优先使用。