#include <stdio.h> int sum(int a, int b); int main() { /************************************************************* * extern static和函数 * 函数可以分为外部函数和内部函数: * 外部函数:定义的函数能被本文件和其他文件访问 * 1、 默认情况下所有函数都是外部函数 * 2、 不允许有同名的外部函数,即就是几个不同的文件中不能出现相同名字的函数 * 内部函数:定义的函数只能被本文件访问,其他文件不能访问 * 1、 允许不同文件中有同名的内部函数 * static对函数的作用: * 1、 定义一个内部函数(该函数只能本文件访问static不能省略) * 2、 声明一个内部函数 * extern对函数的作用: * 1、 完整地定义一个外部函数 * 2> 完整地声明一个外部函数 * (extern可以省略,默认情况下声明和定义的函数都是外部函数) *************************************************************/ int a = 20; int b = 30; int c = sum(a, b); printf("extern sum(20, 30) = %d\n",c); return 0; }
#include <stdio.h> static int minus(int a, int b); //该函数可以供其他的文件访问,默认是extern int sum(int a, int b) { int c = minus(10, 5); printf("static minus(10, 5) = %d\n ", c); return a + b; } //该函数只能本文件进行访问 static int minus(int a, int b) { return a - b; }
static minus(10, 5) = 5 extern sum(20, 30) = 50