问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-24 18:12

我来回答

2个回答

热心网友 时间:2023-10-30 19:53

函数定义好以后,要被其它函数调用了才能被执行。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
函数之前定义的函数,在程序中就能不用写函数类型说明了。能在一个函
数体调用另一个函数(嵌套调用),但不允许在一个函数定义中定义另一个函数。还要注意
的是函数定义和说明中的“类型、形参表、名称”等都要相一致。

热心网友 时间:2023-10-30 19:53

第一,#include
<1.c>这种狗血的做法竟然没有提示无法包含么,那不成你还真把这个.c文件放进include路径里了
第二,多文件编译也不是这么用的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... C语言中怎么调用外部函数? 主任医师和一级专家的区别是什么? 是不是参考副主任医师除了要满足年限,还要在主治医师期间发表论文,没有发表论文可以参考吗? 医生的职称是怎么算的啊? 谁知道晋升副主任医师对论文字数的要求 升主治医师需要发论文吗 2021年乡镇卫生院的医生进副主任医师还需论文吗? 晋升副主任医师是要先发表论文吗? 副主任医师职称论文发表 申报主任医师三级职称 需要具备哪些条件? 评审副主任医师需要在哪些刊物发表论文?需要几篇? 职称论文医学,你还在为职称论文医学困惑吗? 如何查看本地的天气? 怎样在桌面上显示本地天气预报? 我想下载一个本地天气预报,预计十五天内。 应用商店找不到旧版的天气预报? 什么app可以查询以前的天气预报 怎么将百度页面上端天气预报去掉 钓草鱼用什么饲料比较好 深秋用什么钓草鱼 c语言外部函数调用 C语言怎么调用外部函数 C语言 外部变量函数的调用 C语言中,是否可以调用其它文件的函数? C语言如何使用外部文件中的函数 C语言外部函数调用问题。 c语言如何 调用外部程序 c语言程序调用外部文件 C语言中外部函数怎么调用? c语言中外部函数是什么意思 C语言调用外部函数问题(vs2015lnk2019) 半夜起床嘴里经常发苦,是某种疾病的预兆吗?怎样预防? 《重生之幸福攻略》全文+番外百度云!急!! 求小小白的重生幸福日记番外 要到112章!谢谢 求《小小白的重生幸福日记(GL)》完结全文 男人至死是少年下句怎么接 男人至死是少年,姑娘志终是过客是什么意思? 炫龙m7鼠标宏怎么设置 炫龙笔记本键盘怎么拆,想加内存条 炫龙笔记本数字小键盘怎么开?