c语言函数调用文件 c语言写函数文件并调用 例子

C语言中,是否可以调用其它文件的函数?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 );
【c语言函数调用文件 c语言写函数文件并调用 例子】}
在linux下,编译方法为:gcc main.c a.c -o test
在windows下 , 可建立一个工程 , 将两个文件添加到该工程中,编译,运行即可
C语言中如何调用文件中的自定义函数在主函数中定义即可,如下示例:
#includestdio.h
void
main()
{
int
n1,n2;
long
a;
long
sum(int
a,int
b);
long
factorical(int
n);
printf("Enter
n1
and
n2:");
scanf("%d,%d",n1,n2);
a=sum(n1,n2);
printf("a=%ld",a);
getch();
}
long
sum(int
a,int
b)
{
long
c1,c2;
c1=factorical(a);/*n1把值传递给a,并调用函数factorical求某个数的阶乘*/
c2=factorical(b);/*n2把值传递给b,并调用函数factorical求某个数的阶乘*/
return
(c1+c2);/*返回c1与c2的和至主函数*/
}
long
factorical(int
n)
{
int
i;
long
rtn=1;
for(i=1;i=n;i++)
rtn*=i;
return
(rtn);
}
C程序怎样调用其它文件里的函数?以Linux下的gcc为例:从C程序主函数main.c中调用另一个文件fun.c里函数的方法1.直接编译 gcc main.c fun.c2.在main.c文件内容开头添加 #include “fun.c” 然后 gcc main.c3.在main.c 文件内容开头添加 #include “fun.h” 然后 gcc main.c fun.c4.在main.c 文件内容开头添加 #include fun.h(此时fun是库函数) 然后gcc main.c
C语言中,其他文件可否调用文件中的static函数?不能,C语言中c语言函数调用文件的static函数,内部函数和外部函数,函数一旦定义后就可被其它函数调用 。
当一个源程序由多个源文件组成时,在一个源文件中定义c语言函数调用文件的函数能否被其它源文件中的函数调用,C语言又把函数分为两类 。
如果在一个源文件中定义的函数只能被本文件中的函数调用,而不能被同一源程序其它文件中的函数调用,这种函数称为内部函数 。
内部函数也称为静态函数 , 但此处静态static 的含义已不是指存储方式,而是指对函数的调用范围只局限于本文件 。
外部函数在整个源程序中都有效,其定义的一般形式为extern类型说明符函数名形参表 。
C语言中static函数 , 只能被本文件中的函数所使用,别的c文件中不能访问这个函数,而且你可以在别的文件中定义与之同名的函数,不会互相干扰 。
c语言能不能在一个文件中写一个函数,然后再另一个文件中调用?当然可以啦 。\x0d\x0a举个例子吧:两个文件 main.cfunction.c\x0d\x0a我们在function.c 中写一个函数 func();\x0d\x0a与此同时 , 我们需要写一个.h文件来声明这个函数,即function.h\x0d\x0a// 以下是function.h 的内容\x0d\x0a#ifndef __FUNCTION_H__\x0d\x0a#define __FUNCTION_H__\x0d\x0a\x0d\x0avoid func();\x0d\x0a#endif\x0d\x0a\x0d\x0a// 以下是function.c 的内容\x0d\x0a#include "function.h"\x0d\x0a\x0d\x0avoid func()\x0d\x0a{\x0d\x0a// do something\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0a这样一来,我们想要在另外一个文件 , 也就是main.c 中调用这个函数的时候 , 只需要包含它对应的头文件,就可以直接调用了 。\x0d\x0a// 以下是main.c 的内容\x0d\x0a#include "stdio.h"\x0d\x0a#include "function.h"\x0d\x0a\x0d\x0aint main()\x0d\x0a{\x0d\x0afunc();\x0d\x0a\x0d\x0areturn 0;\x0d\x0a}

推荐阅读