为什么C语言中所有的函数都是外函数

Python018

为什么C语言中所有的函数都是外函数,第1张

来自百度百科

C语言外部函数是一种可在自身所处的源文件及其他源文件中都能被调用的函数。外部函数的作用域是整个源程序。

函数调用

编辑

1、在定义函数时,若在函数首部的最左端加关键字extern,则表示此函数是外部调用,可被其他文件调用,函数首部可以为

Extern int fun(int a,int b)

C语言规定,定义函数时省略了extern则隐含为外部函数,可被其他文件调用

2、在需要调用函数的文件中,用extern对函数声明,表示该函数是在其他文件中定义的外部函数

所以外函数只是一种引用方式,大项目多人分开写,可能会有多个文件,最后要整合在一起用。那被引用的文件中函数相对与引用者,就是外部函数。

1、外部函数extern时声明这个函数为外部函数,本文件不做定义,只调用,编译不会出错,但不能运行(没有函数实体)。如果想有运行结果就必须将函数实体包含进来,所以文件包含和extern是配合使用的。文件包含只需要包含.h就是实体的头文件,但有些软件貌似不能识别头文件和c的关系,所以就只能包含.c文件。

2、也就是说外部函数extern只是个声明,他告诉编译器我用到了一个外部函数,但如果该文件没有将函数实体包含进来,编译器是找不到的,依然是不能运行的,所以extern只是个声明,并没有做任何事,只是这样是没用的。include是包含一个文件,就是类似于该文件复制到此处(只是说类似,其实是个查找路径,让编译器去该路径查找函数)。