回到首页 / 上级目录

函数

函数是对一段代码的封装,如将求最大值封装成一个函数:

int max(int x, int y) {      // 返回类型 函数名(参数列表)
    return (x > y) ? x : y;  // 代码段
}
c = max(a, b);               // 调用函数

注意 a 传递给 x 时会发生一次复制,也就是说 a 和 x 不是同一个存储单元。

数组名可以作为函数参数。

作用范围

一个程序可能由多个源文件编译而成。

不同源文件有不同的函数实现,为了使逻辑更清晰,C 语言提供了函数的作用范围。

内部函数只能用于定义的源文件中,而不能在其他源文件中使用,用 static 修饰。

如果函数没有 static 修饰,则默认为是全局函数

变量也有作用范围,在函数内部定义的变量是局部变量,在函数外定义的变量是全局变量

若出现变量的名字冲突,则局部变量会屏蔽全局变量。

若全局变量被 static 修饰,则该变量只能用于源文件内。