当前位置:首页 » 编程语言 » c语言h
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言h

发布时间: 2022-01-15 20:28:03

c语言中 .c和.h有什么区别

一、意思不同

.h中一般放的是同名.c文件中定义的变量、数组、函数的声明,需要让.c外部使用的声明。

.c文件一般放的是变量、数组、函数的具体定义。

二、用法不同

.c文件,以c为扩展名,一般存储具体功能的实现。

.h文件,称为头文件,一般存储类型的定义,函数的声明等。通常,头文件被.c文件包含,使用#include 语句。但值得注意的是,这只是一种约定,而非强制。

三、作用

如果在h文件中实现一个函数体,那么如果在多个C文件中引用它,而且又同时编译多个C文件,将其生成的目标文件连接成一个可执行文件,在每个引用此h 文件的C文件所生成的目标文件中,都有一份这个函数的代码,如果这段函数又没有定义成局部函数,那么在连接时,就会发现多个相同的函数,就会报错。

如果在h文件中定义全局变量,并且将此全局变量赋初值,那么在多个引用此h文件的C文件中同样存在相同变量名的拷贝,关键是此变量被赋了初值,所以编 译器就会将此变量放入DATA段,最终在连接阶段,会在DATA段中存在多个相同的变量,它无法将这些变量统一成一个变量,也就是仅为此变量分配一个空 间,而不是多份空间,假定这个变量在h文件没有赋初值,编译器就会将之放入BSS段,连接器会对BSS段的多个同名变量仅分配一个存储空间。

⑵ C语言h文件的定义方法

貌似和普通的一样么 我也不清楚

⑶ C语言如何制作自己的 h 文件

一个.h文件要
对应有一个.c文件,这样写助于查看和修改程序。比如a.h

a.c;:
在.h文件中
#ifndef
__A_H_
#define
__A_H_
#include
void
trans2(double
B)

double
trans1()

#endif
在.c文件中
#include
"a.h"
把相应的函数定义写在.c文件中
再在main.c文件中
#include
"a.h"
#include
main()
{
double
trans1()
//由度分秒到弧度
{
double
B1,B11,B12,B13,B111;
scanf("%lf°%lf′%lf″",&B11,&B12,&B13);
B111=fabs(B11);
//B11可能为负值
B1=B111+B12/60.0+B13/3600.0;
B1=B1*atan(1)/45.0;
if(B11<0)
B1=-B1;
return
B1;
}
void
trans2(double
B)
//由弧度到度分秒并输出角度值
{
int
a,b;
double
B0;
B0=fabs(B);
//B可能为负值
double
c;
B0=B0*45.0/atan(1);
a=int(B0);
b=int((B0-a)*60);
c=(B0-a)*3600-b*60;
if((int)(c)==60)
//为了避免出现59′60″这种情况,不过好像不起作用,不知道为什么,原来是int没有加括号
{
b=b+1;
c=0.0;
}
if(b==60)
{
b=0;
a=a+1;
}
if(B<0)
a=-a;
printf("%d°%d′%.4f″\n",a,b,c);
}
}
就可以在main.c函数中调用a.c中的函数了

⑷ c语言中#include XXX.c和XXX.h有什么区别

区分在实际使用中并没有什么影响,但是 .h 主要放一些宏定义,.c放程序代码,这样做对以后程序香梅的维护和移植就比较方便了,这样做只是形成一个良好的代码书写规范。

⑸ C语言里的.h和.c文件有什么区别呢

.h
文件叫头文件,
和你说的.C文件算是一样的都是程序吧,
.H文件是人家给写的的能执行一定函数的文件,你可以在自己写的.c文件里面调用他。叫头文件。

⑹ c语言中stdio.h是什么意思

stdio.h是C语言的头文件。

在C语言或C++中,会把用来#include的文件的扩展名叫 .h,称其为头文件。 #include文件的目的就是把多个编译单元(也就是c或者cpp文件)公用的内容。

单独放在一个文件里减少整体代码尺寸;或者提供跨工程公共代码。在现行的c++版本中,应用这个头文件应是#include<stdio.h>。所以,源代码中如用到标准输入输出函数时,就要包含这个头文件。

(6)c语言h扩展阅读

C语言stdio.h各函数的用法

fopen:FILE *fopen(const char *filename, const char *mode)

使用给定的模式 mode 打开 filename 所指向的文件。

freopen:FILE *freopen(const char *filename, const char *mode, FILE *stream)

把一个新的文件名 filename 与给定的打开的流 stream 关联,同时关闭流中的旧文件。

fflush:int fflush(FILE *stream)

刷新流 stream 的输出缓冲区。

fclose:int fclose(FILE *stream)

关闭流 stream。刷新所有的缓冲区。

⑺ C语言中头文件中<*.h>和“*.h”的区别

<*.h>表示优先中系统目录中查找 该头文件 比如#include <stdio.h> 这是系统中的
"*.h"表示优先从当前目录中查找 该头文件 比如#include "head.h" 这是你自己写的

⑻ c语言%xh是什么意思

C++程序的源文件后缀名也是“.c”和“%xh”,这与C语言程序源文件的后缀名完全一样。这就带来了一些问题,其中一个比较显着的问题就是编译器无法轻松的区分某个源文件里的程序究竟是使用C++编写的,还是C语言编写的。

因此,后来C++程序源文件的后缀名不再使用“.c”了,有些使用“.C”后缀名以区别于C语言程序,还有些C++源文件则使用“.c++”,“.cc”,“.cxx”作为后缀名。

“%xh”后缀名的头文件里的宏控制命令如下:

#ifdef __cplusplus
extern "C" {
#endif
...
#ifdef __cplusplus
}
#endif

(8)c语言h扩展阅读

1、如果编译器能够识别“.cpp”和“.cc”后缀名的源文件,那么使用哪一个都是可以的,因为它们都能告诉编译器该源文件代码是由C++语言编写的。

2、程序项目的源文件使用“.ii”,”.ixx”,“.ipp”作为后缀名,这类文件一般专用于提供内敛定义。还有些源文件使用“.txx”,“.tpp”,“.tpl” 作为后缀名,用于定义模板。

⑼ 后缀为h的C语言文件是怎么回事

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