在C语言中各个函数之间进行调用的问题?
在C语言中各个函数之间进行调用的问题?比方说我有3个文件,分别为file1.c(文件1)file2.c(文件2)file3.c(文件3)//file1.c(文件1)#in...
在C语言中各个函数之间进行调用的问题?
比方说我有3个文件,分别为
file1.c (文件1)
file2.c (文件2)
file3.c (文件3)
//file1.c (文件1)
#include <stdio.h>
void main()
{
void a();
void b();
a();
while(1);
}
//file2.c (文件2)
#include <stdio.h>
void a()
{
b();
}
//file3.c (文件3)
#include <stdio.h>
void b()
{
}
用文件1去调用文件2中的函数,再在文件2中去调用文件3中的函数,这样可不可以啊?
如果文件2和文件3保存为.h的头文件
然后再在文件1里面包含文件2和文件3
这样的话可以可以也这样调用啊? 展开
比方说我有3个文件,分别为
file1.c (文件1)
file2.c (文件2)
file3.c (文件3)
//file1.c (文件1)
#include <stdio.h>
void main()
{
void a();
void b();
a();
while(1);
}
//file2.c (文件2)
#include <stdio.h>
void a()
{
b();
}
//file3.c (文件3)
#include <stdio.h>
void b()
{
}
用文件1去调用文件2中的函数,再在文件2中去调用文件3中的函数,这样可不可以啊?
如果文件2和文件3保存为.h的头文件
然后再在文件1里面包含文件2和文件3
这样的话可以可以也这样调用啊? 展开
4个回答
展开全部
这样调用是可以的,只要调用之前声明函数的原型即可,就是让编译器知道这个函数是什么样的,而且定义已存在,只是在稍后的位置或者其他文件中,连接的时候会找掉这个函数。
函数原型的声明:
extern type funname(形参列表);
另外用头文件包含的方式也是可以的,因为头文件在编译之前有预处理器将头文件包含#include "headfile.h" or <headfile.h>替换成头文件的全部内容
这样相当于已经在调用函数之前已经让编译器看到了函数的定义
所以这样是可以的
函数原型的声明:
extern type funname(形参列表);
另外用头文件包含的方式也是可以的,因为头文件在编译之前有预处理器将头文件包含#include "headfile.h" or <headfile.h>替换成头文件的全部内容
这样相当于已经在调用函数之前已经让编译器看到了函数的定义
所以这样是可以的
展开全部
规范的使用方法:
2个.h文件 global.h, exglobal.h
global.h 中声明
void a();
void b();
void c();
exglobal.h 中声明
extern void a();
extern void b();
extern void c();
使用时只有一个.c 文件 #include "global.h"
其他.c 文件 头部添加 #include "exglobal.h"
2个.h文件 global.h, exglobal.h
global.h 中声明
void a();
void b();
void c();
exglobal.h 中声明
extern void a();
extern void b();
extern void c();
使用时只有一个.c 文件 #include "global.h"
其他.c 文件 头部添加 #include "exglobal.h"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
file2.c里面在b();之前找个地方加一句void b();即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-11-10
展开全部
可以,放在同一个项目中编译即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询