用户登录
用户注册

分享至

cword头文件

  • 作者: 拒绝勾引2014
  • 来源: 51数据库
  • 2020-04-21

一、怎样用c写头文件

这个问题太简单了,随便哪个文件都能当头文件,只要符合C语法就行了。

头文件只不过一些变量的定义,函数的申明,等等,和一般的C文件没有驱别,

比如有一个头文件包含一个函数声明:

void hellword();

你可以把这个文件另存为 hello.h 也可以另存为hello.txt

他的定义部分写在hello.c中

void helloword()

{

printf("Hello girl");

}

要在hello.c中包含hello.h或者hello.txt

只要在其它的程序中包含进去就行了。

如:

#include <stdio.h>

#include "hello.txt"

void main()

{

helloword();

}

头文件只是一个文件,也可当做脚文件,放在哪里你自己决定,能用就行了。

二、C++,标准库头文件

没有哪个地方说文件必须要扩展名的啊,扩展名只是windows 为了区分不同的编码方式而已,通过不同的扩展名来调用注册表中注册的默认程序,从而达到解码的实现。没扩展名只要你解码方式正确一样可以达到效果。

况且,C++中头文件是有扩展名的。就是你说的.h。你说的是预处理命令中没有加.h么?这个是为了兼容C的。可以用<iostream>;同时,也有一个"staxh.h"。具体有h和没h区别,一是为了上述的兼容问题,二是C++中使用C的标准头文件是需要加.h的。C++则不需要。

三、关于C++头文件格式

第一个问题简而言之,iostream.h与iostream一个是新标准一个是旧标准,推荐用iostream。 #include是在旧的标准C++中使用。在新标准中,用#include。iostream的意思是输入输出流。#include是标准的C++头文件,任何符合标准的C++开发环境都有这个头文件。还要注意的是:在VC编程时要添加: using namespace std; 其原因是:后缀为.h的头文件C++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,C++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。因此,当使用时,相当于在C中调用库函数,使用的是全局命名空间,也就是早期的C++实现;当使用的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。

关于是否带.h的问题:

没有.h的是C++后来又提供的新的一套函数标准库,不过为了和以前的程序兼容,所以带.h的仍然提供。原来的c语言的函数库也是这样(例如c语言的stdio.h在C++里变成了cstdio)。

这两种你都可以用,不过用不带.h这种的时候,要使用到命名空间std。

要是真找不到其中一种就用另外一种吧~~~

四、怎样用c写头文件

我的程序编写如下:shumaguan.h 文件里:/*-------------------------------------------------------------------------- shumaguan.h --------------------------------------------------------------------------*/ #ifndef __shumaguan_h__ #define __shumaguan_h__ #pragma save #pragma regparms extern void shumaguan_init(); extern void shumaguan_show(float k); extern void shumaguan_f(float n); extern void shumaguan_c(char b,char c); #pragma restore #endif shumaguan.c 文件里://4位共阳数码管#include unsigned char const num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; sbit n1=p2^0; // 数码管低位sbit n2=p2^1; sbit n3=p2^2; sbit n4=p2^3; #define data p1 //数据端口unsigned char s[5]={0xff,0xff,0xff,0xff,0xff}; void delay() { unsigned int i; for(i=0;i<500;i++); }="" void="" shumaguan_init()="" {="" n1="1;" n2="1;" n3="1;" n4="1;" }="" void="" shumaguan_show(float="" k)="">< 0,数码管最高位显示负号,k="">0则显示数字{ unsigned char i,j; shumaguan_init(); if(k<0) 是否为负数{="" data="0xbf;" n1="1;" n2="1;" n3="1;" n4="0;" k="1;" delay();="" }="" else="" k="0;" for(j="4;j">k;j--) { if(i==0xff&&j!=4) //是否已显示了小数点data=num[s[j-1]-0x30]; else { i=s[j]-0x30; if(i>10) //是否为小数点{ data=num[s[j-1]-0x30]&0x7f;// 小数点和数字合并显示i=0xff; //标志已有小数点显示} else data=num[s[j]-0x30]; } n1=(j==4?0:1); n2=(j==3?0:1); n3=(j==2?0:1); n4=(j==1?0:1); delay(); } } void shumaguan_f(float n) //显示浮点数,范围从-9.99到9999 { sprintf(s, "%-f", n); shumaguan_show(n); } void shumaguan_c(char b,char c) //c为要显示的数字,b为指定用哪位数码管来显示,左起为第一位{ unsigned char j; shumaguan_init(); s[b-1]=num[c]; for(j=4;j>0;j--) { data=s[j-1]; n1=(j==4?0:1); n2=(j==3?0:1); n3=(j==2?0:1);。

五、计算机c语言中为什么要用头文件

对于系统提供的头文件,既可以用尖括号形式,也可以用双撇号形式,都能找到被包含的文件,但显然用尖括号形式更直截了当,效率更高。

不同的头文件包括以上不同的信息,提供给程序设计者使用,这样,程序设计者不需自己重复书写这些信息,只需用一行#include命令就把这些信息包含到本文件了,大大地提高了编程效率。由于有了#include命令,就把不同的文件组合在一起,形成一个文件。因此说,头文件是源文件之间的接口。

头文件一般包含以下几类内容:

对类型的声明。

函数声明。

内置(inline)函数的定义。

宏定义。用#define定义的符号常量和用const声明的常变量。

全局变量定义。

外部变量声明。如entern int a;

还可以根据需要包含其他头文件。

六、C语言定义一个头文件的格式和引用它的方法

扩展名为.h的文件,在C语言中被称为header file, 也就是头文件。

头文件的数据格式就是普通的文本文件,可以通过新建文本文件(txt),再把扩展名改为.h的方式创建,在此不赘述。

一、头文件内容格式。

头文件内容并没有固定的格式要求,不过一般为防止嵌套引用给编译器带来死锁或者没必要的开销,一般约定整个头文件中所有内容在一个条件编译下,即如下格式:

#ifndef 宏名

#define 宏名

//头文件主体

#endif

这样可以保证一个头文件在一个源文件中最多只被引用一次。为避免宏名重复,宏名一般由头文件名转换而来,如果头文件名是xxx.h,那么宏名一般定义为:

_XXX_H_

即前后各加一个下划线,同时文件名中除数字、字母、下划线以外的字符均转换为下划线(_)。

头文件主体中内容同样没有做强制约定,可以出现在源文件(.c)中的任何代码均可以放在头文件中。不过一般情况下可以包括以下几种内容:

1 引用其它头文件,格式为

#include <xxx.h>

或

#include "xxx.h"

二者区别在介绍头文件引用时再详细介绍。

2 定义私有类型。比如

typedef unsigned long U32; //为了简写而给无符号32位整型定义一个新的名字

struct xxx {};

也可以是enum, union等复杂类型。

3 宏定义。比如

#define MAX(a,b) (a>b?a:b)

4 函数声明。比如

void test_function(void);

5 全局变量声明。比如

extern int global_var;

6 如果有一个静态全局变量需要在不同源文件中使用,但各文件之间互不相关。那么可以放在头文件中。如:

static int gs_var = 3;

7 对于支持C99规范的C编译器,还可以把内联函数定义在头文件中。比如

static inline int get_min(int a, int b)

{

if(a>b) return b;

return a;

}以上是常见的头文件中的元素。但实际上头文件中也可以放全局变量的定义,全局函数的实现等。但是头文件中一旦定义了这样的元素,这个头文件在一个工程中只能被一个文件引用,否则编译器会报重复定义的错误。

比如如果有一个规模很大的常量数组,比如一副图片的二进制值,如果把它定义在源文件中,就会显得很冗余,因为并不会经常修改。 这时可以定义在头文件中,只在一个源文件中引用,当有多幅图片需要随时更换时,也可以通过简单的在源文件中修改引用的头文件名达到修改的目的。

二、头文件的引用。

头文件引用的方法其实之前已经大致说过了,在源文件中引用头文件和在头文件中引用的格式是一样的:

#include<xxx.h>;或者

#include "xxx.h"

xxx为头文件名。

用<>;和""是有一定的区别的。在编译器查找头文件的时候,会在两个区域分别查找。

一个是系统头文件区域,即类似于stdio.h一类的C库函数头文件区。

另一个是自定义头文件区,比如当前目录,以及其它自定义的目录。

用<>;时,编译器会先在系统区域查找,然后再查找自定义区域。而用""时则相反。

由于一般并不推荐自定义头文件名与系统头文件名相同(容易引起歧义并难以维护),所以先后顺序并不是太重要,尤其在硬件速度越来越快的今天,使用哪种符号引用头文件已经差别很小了。

转载请注明出处51数据库 » cword头文件

软件
前端设计
程序设计
Java相关