1、首先建头文件是为了声明c文件中的函数,以及包括宏定义。建立头文件要有对应的c文件。
滦州ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
2、要写头文件首先要建一个.h文件。
3、打开h文件,进行编辑。建立头文件是有一定步骤的。要用到#ifndef。。。#define。。。。#endif。这是为了避免重复定义。
4、#ifndef后面要写的是头文件名称的大写。例如:test.h要写成__TEST_H__。前面与后面是两个下划线。字母用大写。
5、然后在define与endif中间声明函数名,记得写冒号。
6、然后在main文件中写上include这个头文件,就可以调用了。
7、最后编译,运行,就完成了。
给个程序自己参考,下面程序运行时你输入一个文件名, 它会打开此文件,并写入0-99个数字。
#include stdio.h
void foo(const char *filename)
{
int i;
FILE *fp = fopen(filename, "w+");
for (i = 0; i 100; i++)
fprintf(fp,"%d ", i);
fclose(fp);
}
void main()
{
char str[128];
scanf("%s", str);
foo(str);
}
你把#include "lab1.c"加在主函数头文件中看看!并且把 lab1.h 和lab1.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。
2、把相应的函数定义写在.c文件中。这里要强调一点:要加上#include ".h",这个一般作为一种工程规范。因为如果.c文件中的函数也需要调用同个.c中的其它函数,那么这个.c往往会include对应的.h。比如头文件里进行了变量的声明,这个时候对应的.c文件是一定要加上这个头文件的。
3、再在其他的main.c文件开头添加#include "a.h"。
当然可以啦。
举个例子吧:两个文件 main.c function.c
我们在function.c 中写一个函数 func();
与此同时,我们需要写一个.h文件来声明这个函数,即function.h
// 以下是function.h 的内容
#ifndef __FUNCTION_H__
#define __FUNCTION_H__
void func();
#endif
// 以下是function.c 的内容
#include "function.h"
void func()
{
// do something
}
这样一来,我们想要在另外一个文件,也就是main.c 中调用这个函数的时候,只需要包含它对应的头文件,就可以直接调用了。
// 以下是main.c 的内容
#include "stdio.h"
#include "function.h"
int main()
{
func();
return 0;
}
如果该函数在主文件外的C语言头文件中,那么用
#include "C语言头文件名" 引用,然后就可以使用了(包含在同一项目下编译)
如果没有,在主文件使用
extern 改函数的定义;来声明一下就可以使用了
例如
extern int foo(int bar);
int main(int argc,char **argv)
{
foo(1);
...
return 0;
}
标题名称:c语言主函数引用c文件名,c语言获取文件名函数
分享地址:https://www.cdcxhl.com/article4/hogcoe.html
成都网站建设公司_创新互联,为您提供网站设计公司、微信公众号、外贸建站、品牌网站设计、自适应网站、商城网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联