资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

c语言外部函数引入 c语言外部函数调用

C语言中怎么调用外部函数?

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

创新互联主要为客户提供服务项目涵盖了网页视觉设计、VI标志设计、全网营销推广、网站程序开发、HTML5响应式成都网站建设手机网站制作、微商城、网站托管及成都网站维护、WEB系统开发、域名注册、国内外服务器租用、视频、平面设计、SEO优化排名。设计、前端、后端三个建站步骤的完善服务体系。一人跟踪测试的建站服务标准。已经为隧道混凝土搅拌车行业客户提供了网站维护服务。

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

单片机 C语言,如何调用外部自定义函数。

函数定义好以后,要被其它函数调用了才能被执行。C

语言的函数是能相互调用的,

但在调用函数前,必须对函数的类型进行说明,就算是标准库函数也不例外。标准库函数的

说明会被按功能分别写在不一样的头文件中,使用时只要在文件最前面用#include

预处理语

句引入相应的头文件。如前面一直有使用的

printf

函数说明就是放在文件名为

stdio.h

头文件中。调用就是指一个函数体中引用另一个已定义的函数来实现所需要的功能,这个时候函

数体称为主调用函数,函数体中所引用的函数称为被调用函数。一个函数体中能调用数个

其它的函数,这些被调用的函数同样也能调用其它函数,也能嵌套调用。笔者本人认为

主函数只是相对于被调用函数而言。在

c51

语言中有一个函数是不能被其它函数所调用的,

它就是

main

主函数。调用函数的一般形式如下:

函数名

(实际参数表)

“函数名”就是指被调用的函数。实际参数表能为零或多个参数,多个参数时要用逗

号隔开,每个参数的类型、位置应与函数定义时所的形式参数一一对应,它的作用就是把参

数传到被调用函数中的形式参数,如果类型不对应就会产生一些错误。调用的函数是无参函

数时不写参数,但不能省后面的括号。

在以前的一些例子我们也能看不一样的调用方式:

1.函数语句

printf

("Hello

World!n");

这是在

我们的第一个程序中出现的,它以

"Hello

World!n"为参数调用

printf

这个库函数。在这里函数调用被看作了一条语句。

2.函数参数

“函数参数”这种方式是指被调用函数的返回值当作另一个被调用函数的实际参

数,如

temp=StrToInt(CharB(16));CharB

的返回值作为

StrToInt

函数的实际参数传递。

3.函数表达式

而在上一篇的例子中有

temp

=

Count();这样一句,这个时候函数的调用作为一个运算

对象出现在表达式中,能称为函数表达式。例子中

Count()返回一个

int

类型的返回

值直接赋值给

temp。注意的是这种调用方式要求被调用的函数能返回一个同类型的值,

不然会出现不可预料的错误。

前面说到调用函数前要对被调用的函数进行说明。标准库函数只要用#include

引入已

写好说明的头文件,在程序就能直接调用函数了。如调用的是自定义的函数则要用如下形

式编写函数类型说明

类型标识符

函数的名称(形式参数表);

这样的说明方式是用在被调函数定义和主调函数是在同一文件中。你也能把这些写到

文件名.h

的文件中用#include

"文件名.h"引入。如果被调函数的定义和主调函数不是在同

一文件中的,则要用如下的方式进行说明,说明被调函数的定义在同一项目的不一样文件之上,

其实库函数的头文件也是如此说明库函数的,如果说明的函数也能称为外部函数。

extern

类型标识符

函数的名称(形式参数表);

函数的定义和说明是完全不一样的,在编译的角度上看函数的定义是把函数编译存放在

ROM

的某一段地址上,而函数说明是告诉编译器要在程序中使用那些函数并确定函数的地

址。如果在同一文件中被调函数的定义在主调函数之前,这个时候能不用说明函数类型。也就

是说在

main

函数之前定义的函数,在程序中就能不用写函数类型说明了。能在一个函

数体调用另一个函数(嵌套调用),但不允许在一个函数定义中定义另一个函数。还要注意

的是函数定义和说明中的“类型、形参表、名称”等都要相一致。

C语言中如何引用其它C源文件中的函数?

在源文件A1.c中调用A2.c 中的函数有两种方法:

1、在A2.c中有完整的函数定义,在A1.c中添加一下要用到的函数原型(声明)就可以了,例如:

在A2.c中:有函数void A2(){...};。

在A1.c中:在文件前头增加一行:void A2();就可以了。

2、把A2.c中完整定义的函数的原型,写到一个A2.h文件中,然后在A1.c的文件头增加#include "A2.h"就可以了。

以上两种方法,在A1.c中都可以正常的调用,就跟在A2.c中调用一样。

其实函数默认是外部的,只要在其他文件中声明就能使用;但是注意如果在前面加上static,就只能在本文件中使用了,不能再被其他的文件调用。

扩展资料: 

1、一个.h文件要 对应有一个.c文件,这样链接器就可以调用这个文件里的函数。比如a.h 和 a.c。

2、把相应的函数定义写在.c文件中。这里要强调一点:要加上#include ".h",这个一般作为一种工程规范。因为如果.c文件中的函数也需要调用同个.c中的其它函数,那么这个.c往往会include对应的.h。比如头文件里进行了变量的声明,这个时候对应的.c文件是一定要加上这个头文件的。

3、再在其他的main.c文件开头添加#include "a.h"。


分享名称:c语言外部函数引入 c语言外部函数调用
网站路径:http://cdkjz.cn/article/dogiddi.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220