C语言中,是否可以调用其它文件的函数?

我们一般写C语言的时候调用的函数就是本程序中的,但是是不是还可以在本函数里调用另一个文件里的函数?在头文件里调用文件?... 我们一般写C语言的时候调用的函数就是本程序中的,但是是不是还可以在本函数里调用另一个文件里的函数?在头文件里调用文件? 展开
 我来答
问明6E
高粉答主

2019-07-01 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:13万
展开全部

可以调用。

一、从一个源文件里调用另一个源文件的函数。在源文件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。

在.h文件中:

#ifndef __A_H_

#define __A_H_

#include<stdio.h>

void trans2(double B) ; 

double trans1() ;

#endif

2、把相应的函数定义写在.c文件中。这里要强调一点:要加上#include ".h",这个一般作为一种工程规范。因为如果.c文件中的函数也需要调用同个.c中的其它函数,那么这个.

c往往会include对应的.h,这样就不需要为声明和调用顺序而发愁了。比如头文件里进行了变量的声明,这个时候对应的.c文件是一定要加上这个头文件的。

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

扩展资料:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#include<文件名>

2、#include"文件名"

如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:

#include<math.h>//一些数学函数的原型,以及相关的类型和宏

如果需要包含针对程序所开发的源文件,则应该使用第二种格式。

采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。

小夏聊生活
高能答主

2019-12-10 · 专注于分享生活知识,热爱生活
小夏聊生活
采纳数:448 获赞数:114615

向TA提问 私信TA
展开全部

可以的。

在C语言中,函数调用的方式有多种,在函数调用中还应该注意的一个问题是求值顺序。所谓求值顺序是指对实参列表中各个参数是自左向右使用,还是自右向左使用。对此,各系统的规定不一定相同。

__cdecl调用规则就是C调用规则。按从右至左的顺序压参数入栈,由调用者把参数弹出栈。切记:对于传送参数的内存栈是由调用者来维护的。

返回值在EAX中因此,对于象printf这样变参数的函数必须用这种规则。编译器在编译的时候对这种调用规则的函数生成修饰名的饿时候,仅在输出函数名前加上一个下划线前缀,格式为_functionname。

扩展资料

示例:

在VC6.0和C-Free 5.0下运行以下代码。

#include <stdio.h>

int main(){

int i=8;

printf("%d %d %d %d\n",++i,++i,--i,--i);

return 0;

}

运行结果:

8 7 6 7

可见VC 6.0是按照从右至左的顺序求值。如果按照从左至右求值,结果应为:

9  10  9  8

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郑穆寒
2020-09-05
知道答主
回答量:32
采纳率:50%
帮助的人:2.9万
展开全部
先在当前目录下创建.c文件 即你的main函数 如何创建.h文件 注意不能有main函数。如何在主文件里加#include "XX.h" 即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上单l那道菜
2018-07-24 · TA获得超过115个赞
知道答主
回答量:55
采纳率:75%
帮助的人:13.2万
展开全部
创建一个project,创建第一个文件c1.c,在其中写出函数,再在第二个文件c2.c里在要调用的c1中的函数前加上extern使函数成为外部函数eg: extern int funa(int); ,这样就可以在c2.c里调用c1的那个函数了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaixingui2012
推荐于2018-02-27 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6455万
展开全部

C语言可以在程序中调用其他文件中的函数。

在大型的程序软件开发中,为了代码的可读性,或多人同时进行代码开发,可以各写自己的源文件,然后,在编译时,将多个源文件链接到一起,就可以形成最终的目标程序。

各程序中的函数可以是共用的,参考代码如下:

//a.c
#include <stdio.h>
int funa( int n )
{
    printf("n=%d\n", n );
    return n*2 ; 
}
//main.c
#include <stdio.h>
extern int funa(int); //声明funa为外部函数
void main()
{
    int x=5,y;
    y=funa(x);
    printf("y=%d\n", y );
}
在linux下,编译方法为:gcc main.c a.c -o test
在windows下,可建立一个工程,将两个文件添加到该工程中,编译,运行即可
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 5条折叠回答
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式