C语言中的.c和.h文件的调用问题,死磕了好久还是不能调通(Linux环境)

作者&投稿:辟枯 (若有异议请与网页底部的电邮联系)
C语言中的.c和.h文件的调用问题,死磕了好久还是不能调通(Linux环境)~

不要把 .h 放在命令行
在 simple.c 和 judge.c 文件头部 添加
#include "judge.h"
把它包含进去就可以了。
编译命令:
gcc -o simple simple.c judge.c

楼主你好。
.h文件作为接口存在的。所谓接口就是指类型定义、变量声明、函数声明等等,基本上不会在.h里面放置函数实现。
.c里面才真正实现函数。
比方说,我写一个work的实现:
//work.h
#ifndef work_h
#define work_h
//你也可以在这里声明变量,或者定义类型、结构体
void work();//注意这只是一个函数声明
#endif

//work.c
//work函数的定义,或者说实现
void work(){
//这里才真正实现work中的代码
}
这样一来,如果你想用work.c中的work函数,只要#include "work.h"就可以了。

小技巧:
#ifndef work_h
#define work_h
#endif

这三行代码是为了保证在编译某一个.c或.cpp文件时,work.h头文件只编译一次。
比方你在main.c里面打了10次#include "work.h",这样预处理的时候会向main.c中拷贝10次work.h的代码(预处理时实际上会用work.h中的代码替代#include "work.h"这行代码),有了那三行就可以保证只有第一个拷贝的work.h参与编译,剩下的九个都跳过。(因为work_h在第一次#include的时候被定义了,往后就不会编译#ifndef .. #endif 中间的代码了)

不要把 .h 放在命令行
在 simple.c 和 judge.c 文件头部 添加
#include "judge.h"
把它包含进去就可以了。
draw 函数 和 judge 函数 应 已定义 在 c 程序里 或 .h 里。
编译命令:
gcc -o simple simple.c judge.c

.h文件不在系统默认目录下,和.c文件同目录,.c文件开头#include "XXXX.h"就行.
.h文件在其他目录下,gcc 加-I后紧跟文件目录(不空格).


变量在.c和.h文件中定义有什么不同?
变量啊 .h中定义的是"全局"变量,包括这个头文件就可以用 如果在.c里面看定义的位置也有"全局"和局部之分 如果定义的"全局"的话其它源文件如果使用该变量的话需要extern

c语言中*.h文件是干什么的
我们一般在.h类的头文件里面只放入函数声明,宏定义,函数原型。而具体的实现在.cpp文件里面 比如你在<math.h>里面看到的数学函数都只有声明 具体实现在<math.cpp>里面 在编译的时候,编译器会自动加载和.h匹配的.CPP文件。

本人新手遇到了一个问题,假如在C语言中源文件.c有3个和一个头文件.h的...
您好,非常荣幸能在此回答您的问题。以下是我对此问题的部分见解,若有错误,欢迎指出。如果2.c没有调用到3.h的声明,当然可以,如果调用到了,不同的编绎器可能有的会报错,有的不会。非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!

c语言中的头文件
c语言中的头文件:#include<stdio.h>。头文件的作用:1.头文件可以定义所用的函数列表,方便查阅你可以调用的函数。2.头文件可以定义很多宏定义,就是一些全局静态变量的定义,在这样的情况下,只要修改头文件的内容,程序就可以做相应的修改,不用亲自跑到繁琐的代码内去搜索。3.头文件只是声明,不占...

c语言中stdio.h是什么意思
stdio.h是C语言的头文件。在C语言或C++中,会把用来#include的文件的扩展名叫 .h,称其为头文件。 #include文件的目的就是把多个编译单元(也就是c或者cpp文件)公用的内容。单独放在一个文件里减少整体代码尺寸;或者提供跨工程公共代码。在现行的c++版本中,应用这个头文件应是#include<stdio.h>。

C语言包含头文件的后缀“.a .h”等等是什么意思啊?
a:archive.归档的意思,是把很多库打包形成的,里面有函数可以用 .h是头文件。里面声明了一些常量和函数,包含之后可以使用那些常量和函数,大致就这样了。100个字快满了。

后缀为h的C语言文件是怎么回事
声明一般放在头文件,后缀h,实现一般放在c或cpp文件。声明和实现都是源程序的一部分,不要在意扩展名了。

c++中后缀名.c 与.cpp的区别
.c是c语言的源程序格式,.cpp是c++语言的源程序格式。这是两种不同的语言。代码的问题原因:编译器问题——C89和C99 C89规定,在任何执行语句之前,在块的开头声明所有局部变量。在C99以及C++中则没有这个限制,即在首次使用之前,可在块的任何位置都可以声明变量。因此,变量声明放在前面就不报错了。

C语言里面的这个#include <stdio.h>什么意思啊?
include<stdio.h>是在程序编译之前要处理的内容,称为编译预处理命令。编译预处理命令还有很多,它们都以“#”开头,并且不用分号结尾。stdio.h是头文件,标准输入输出函数库。头文件是扩展名为 .h 的文件,包含了 C 函数声明和宏定义,被多个源文件中引用共享。有两种类型的头文件:程序员编写的头...

头文件<cstdio>和<stdio.h>的区别?
在C语言中,stdio.h 头文件是主要的。而在后来的C++语言中,C只是C++的一个子集,且C++中,已不推荐再用C的类库,但为了对已有代码的保护,还是对原来的头文件支持。cstdio文件的内容是这样的:if <TRADITIONAL C HEADERS> include <stdio.h> namespace std { using ::fclose;using ::feof;using...

勃利县17358926789: C语言 有很多.h和.c文件,然后一个.c文件中的函数会调用另一个.c文件中的函数,要怎样才能保证才不会 -
浦清口炎: 楼主你好..h文件作为接口存在的.所谓接口就是指类型定义、变量声明、函数声明等等,基本上不会在.h里面放置函数实现..c里面才真正实现函数.比方说,我写一个work的实现://work.h#ifndef work_h#define work_h//你也可以在这里声明变...

勃利县17358926789: .h与.c文件变量引用问题 -
浦清口炎: #i nclude "stdafx.h" 1.extern用在变量声明中常常有这样一个作用,你在*.c文件中声明了一个全局的变量,这个全局的变量如果要被引用,就放在*.h中并用extern来声明. 2.如果函数的声明中带有关键字extern,仅仅是暗示这个函数可能在别的...

勃利县17358926789: 在C语言中如何让把.h文件和.c文件关联在一起 -
浦清口炎: 从代码上,只要在C中include对应.h文件就可以了. 从编译上,可以在makefile中写依赖. 这样修改.h后会自动编译.c 也可以make depend .

勃利县17358926789: C语言里的.h和.c文件有什么区别呢 -
浦清口炎: .h 文件叫头文件, 和你说的.C文件算是一样的都是程序吧, .H文件是人家给写的的能执行一定函数的文件,你可以在自己写的.c文件里面调用他.叫头文件.

勃利县17358926789: C语言中.h函数声明文件 和.c函数实现文件是怎么连接的 -
浦清口炎: .c是源文件,源文件不是引用了.h头文件吗,#include"***.h",也就是将头文件的内容插入到了源文件中了.

勃利县17358926789: c语言中如何调用.h文件 -
浦清口炎: LZ是不是不知道怎么把多个文件联系在一起编译运行啊! 首先修正一个楼上的错误.对于用户自己写的头文件,应当用#include “XX.h” 而不能用#include <XX.h>.否则将会出错. LZ在写好这个头文件后,比如你说的XX.h 只需要在你的源文件,也就是.C文件的开头使用预处理命令#include "XX.h"便可以将头文件里面的内容包含到你的.C文件了. 然后直接编译,链接你的源文件(.C),然后生成生成.EXE文件,便可以运行了. LZ注意喽!一定要把你的头文件和源文件放到同一个文件夹目录下,才能正确运行喽!

勃利县17358926789: C语言.h与.c有啥区别?VS2010如何调用.c?顺便弱弱的问一下 "::"这个符号是什么意思?怎样用? -
浦清口炎: Note1: .h放声明. .c放定义, 包括变数定义及函数定义. 多档案的程序码才需要使用 .h Note2: :: 是 C++ 用来讲 class member 的, 在C是错误.

勃利县17358926789: c语言编写的函数,有个主函数c文件,一个函数h文件,一个子函数c文件,子函数中调用了主函数的变量, -
浦清口炎: .h文件作为接口存在的.所谓接口就是指类型定义、变量声明、函数声明等等,基本上不会在.h里面放置函数实现. .c里面才真正实现函数. 比方说,我写一个work的实现: //work.h #ifndef work_h #define work_h //你也可以在这里声明变量,或...

勃利县17358926789: 盼求:C 语言 h文件和c文件 关系的困惑 -
浦清口炎: h文件和C文件本质上没有任何区别.只不过一般.h文件是头文件,内含函数声明、宏定义、结构体定义等内容..c文件是程序文件,内含函数实现,变量定义等内容.而且是什么后缀也没有关系,只不过编译器会默认对某些后缀的文件采取某些...

勃利县17358926789: c文件,h文件 关系 -
浦清口炎: 你问的应该是.c和.h文件的关系..c是你写的源代码所在的文件,.h是编程软件自身所自带的头文件库,其中存放的是已经编写好的头文件,里面包含了很多基本的函数,比如#include就包含了输入输出流的函数,没有它就不能进行输入和输出.当然你也可以自己编写头文件作为自定义头文件引入程序代码中.

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网