一、怎样用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
对于系统提供的头文件,既可以用尖括号形式,也可以用双撇号形式,都能找到被包含的文件,但显然用尖括号形式更直截了当,效率更高。 不同的头文件包括以上不同的信息,提供给程序设计者使用,这样,程序设计者不需自己重复书写这些信息,只需用一行#include命令就把这些信息包含到本文件了,大大地提高了编程效率。由于有了#include命令,就把不同的文件组合在一起,形成一个文件。因此说,头文件是源文件之间的接口。 头文件一般包含以下几类内容: 对类型的声明。 函数声明。 内置(inline)函数的定义。 宏定义。用#define定义的符号常量和用const声明的常变量。 全局变量定义。 外部变量声明。如entern int a; 还可以根据需要包含其他头文件。 扩展名为.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库函数头文件区。 另一个是自定义头文件区,比如当前目录,以及其它自定义的目录。 用<>;时,编译器会先在系统区域查找,然后再查找自定义区域。而用""时则相反。 由于一般并不推荐自定义头文件名与系统头文件名相同(容易引起歧义并难以维护),所以先后顺序并不是太重要,尤其在硬件速度越来越快的今天,使用哪种符号引用头文件已经差别很小了。五、计算机c语言中为什么要用头文件
六、C语言定义一个头文件的格式和引用它的方法
拒绝勾引2014