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。

在.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命令,这些定义就可被任何源文件使用。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-12-10

可以的。

在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

本回答被网友采纳
第2个回答  2020-09-05
先在当前目录下创建.c文件 即你的main函数 如何创建.h文件 注意不能有main函数。如何在主文件里加#include "XX.h" 即可
第3个回答  2018-07-24
创建一个project,创建第一个文件c1.c,在其中写出函数,再在第二个文件c2.c里在要调用的c1中的函数前加上extern使函数成为外部函数eg: extern int funa(int); ,这样就可以在c2.c里调用c1的那个函数了。
第4个回答  推荐于2018-02-27

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下,可建立一个工程,将两个文件添加到该工程中,编译,运行即可

本回答被网友采纳

C语言中,是否可以调用其它文件的函数?
可以的。在C语言中,函数调用的方式有多种,在函数调用中还应该注意的一个问题是求值顺序。所谓求值顺序是指对实参列表中各个参数是自左向右使用,还是自右向左使用。对此,各系统的规定不一定相同。__cdecl调用规则就是C调用规则。按从右至左的顺序压参数入栈,由调用者把参数弹出栈。切记:对于传送...

C语言中,是否可以调用其它文件的函数?
C语言可以在程序中调用其他文件中的函数。在大型的程序软件开发中,为了代码的可读性,或多人同时进行代码开发,可以各写自己的源文件,然后,在编译时,将多个源文件链接到一起,就可以形成最终的目标程序。各程序中的函数可以是共用的,参考代码如下:\/\/a.c include <stdio.h> int funa( int n )...

C语言中的main函数能不能调用其它函数
可以调用。C语言最基本的模块为函数,任意函数都可以调用其它任意一个函数,包括函数本身。1、自定义函数调用其它自定义函数的例子:include <stdio.h>void fun1(int a)\/\/自定义函数fun1。{ printf("%d\\n",a);}void fun2(int m, int n)\/\/自定义函数fun2。{ fun1(m); fun1(n)...

C如何在一个文件里调用另一个源文件中的函数
首先,定义一个C代码的头文件,如`function.h`,在这个文件中声明将要实现的函数,例如`int add(int a, int b);`。然后,新建一个源文件`function.c`,在文件开头包含`#include "function.h"`,这样可以确保`function.c`文件中的代码可以访问`function.h`文件中的声明。接下来,在`function.c`...

c语言调用其他文件的函数怎么编译
调用函数库的话用#include <XXX.h>或者#include"XXX.h"区别是你库文件放在同一个文件夹还是在IDE的安装目录下面,如果你库文件在你工程文件夹里面用#include<XXX.h>,否则用#include "XXX.h"如果你说自己写库的话是需要两个宏命令,#ifndef _XXX_H #define _XXX_H,然后你函数名用extern表示 ...

C语言中不是主函数的函数能调用其他函数吗
当然能的啦~~比如你在main里调用自己写的一个Print函数,这个Print里又调用 了库里的printf函数,这是非常正常的。

C语言外部函数函数调用
在C语言中,函数的外部调用是通过在函数声明时使用关键字"extern"来实现的。当你在函数定义的首部,如:c extern int fun(int a, int b);这样标记,表明这个函数fun不是在当前文件内部定义的,而是作为一个外部函数,可供其他文件调用。C语言的规则指出,如果在定义函数时省略了"extern",默认情况下...

在C语言中,自定义函数中能调用其他的自定以函数么
当然可以,调用库函数和自定义函数的要求(语法要求链接要求等)都是一样的。调用库函数要链接库(一般自动链接标准库),调用自定义函数,要链接它的OBJ文件。或C直接更好。比如 gcc -ohell.exe main.c myfunc.c 如果在IDE比如VC6。0等别忘了在编译前把函数所在的源文件加到工程中。

c语言在头文件中如何引用另一个头文件中的函数
1、首先建头文件是为了声明c文件中的函数,以及包括宏定义。建立头文件要有对应的c文件。2、要写头文件首先要建一个.h文件。3、打开h文件,进行编辑。建立头文件是有一定步骤的。要用到#ifndef。。。#define。。。#endif。这是为了避免重复定义。4、#ifndef后面要写的是头文件名称的大写。例如:tes...

C语言不同文件的函数如何相互调用
新建 project 然后添加 文件 main 所在程序中 添加函数声明 就可以调用了 main.c include <stdio.h> extern int add(int a, int b);int main(void){ int a = 1, b = 2;printf("%d",add(a,b));} 2.c int add(int a, int b){ return a + b;} ...

相似回答